openapi: 3.0.3
info:
  title: 'Medlab DOCS'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://api-dev-medlab.qomratech.com'
tags:
  -
    name: Admin
    description: 'APIs for Admin Management'
  -
    name: Appointment
    description: 'APIs for Appointment Management'
  -
    name: Company
    description: 'APIs for Company Management'
  -
    name: Endpoints
    description: ''
  -
    name: Patient
    description: 'APIs for Patient Management'
  -
    name: Suppliers
    description: 'APIs for Suppliers Management'
  -
    name: User
    description: 'APIs for User Management'
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.'
security:
  -
    default: []
paths:
  '/api/v1/admin/roles/{role_id}/permissions':
    get:
      summary: 'Show all permissions to specific rule'
      operationId: showAllPermissionsToSpecificRule
      description: 'This endpoint lets you show all permissions to specific rule'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: filter
          description: 'Field to filter by id,name,description.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter by id,name,description.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by id,name,description.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by id,name,description.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-63d0-7188-83db-f30b9e97dc1d
                      name: 'Kenya Kuhlman'
                      description: null
                    -
                      id: 019990cd-63b9-7121-a668-56862da00db9
                      name: 'Mrs. Lavinia Balistreri'
                      description: null
                    -
                      id: 019990cd-63a9-7115-9d2a-569fe29531ab
                      name: 'Pablo Dach'
                      description: null
                    -
                      id: 019990cd-6398-7379-9ea6-4202bef1a870
                      name: 'Edyth Beer'
                      description: null
                    -
                      id: 019990cd-6387-71e5-83fa-d5af811be750
                      name: 'Cielo Dach MD'
                      description: null
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-63d0-7188-83db-f30b9e97dc1d
                        name: 'Kenya Kuhlman'
                        description: null
                      -
                        id: 019990cd-63b9-7121-a668-56862da00db9
                        name: 'Mrs. Lavinia Balistreri'
                        description: null
                      -
                        id: 019990cd-63a9-7115-9d2a-569fe29531ab
                        name: 'Pablo Dach'
                        description: null
                      -
                        id: 019990cd-6398-7379-9ea6-4202bef1a870
                        name: 'Edyth Beer'
                        description: null
                      -
                        id: 019990cd-6387-71e5-83fa-d5af811be750
                        name: 'Cielo Dach MD'
                        description: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-63d0-7188-83db-f30b9e97dc1d
                        name:
                          type: string
                          example: 'Kenya Kuhlman'
                        description:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: "Edit rule's permissions"
      operationId: editRulesPermissions
      description: "This endpoint lets you edit rule's permissions (add,update,delete)"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: "The role's permissions updated successfully."
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: "The role's permissions updated successfully."
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                permissionIds:
                  type: array
                  description: 'List of the permissions Ids.'
                  example:
                    - 16
                  items:
                    type: integer
    parameters:
      -
        in: path
        name: role_id
        description: 'The ID of the role.'
        example: 019990ce-ab0c-709d-a753-daad779c0287
        required: true
        schema:
          type: string
  '/api/v1/admin/users/{user_id}/roles':
    get:
      summary: 'Show all roles to specific user'
      operationId: showAllRolesToSpecificUser
      description: 'This endpoint lets you show all roles to specific user'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: filter
          description: 'Field to filter items by id,name,description.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id,name,description.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by id,name,description.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by id,name,description.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-7c69-7365-80db-159c2774b11e
                      name: 'Jillian Powlowski'
                      description: 'Quam eos dolorem ducimus voluptas.'
                    -
                      id: 019990cd-7c64-7005-94e0-7b65defb8199
                      name: 'Ms. Maude Berge'
                      description: 'Sed tempora at veniam totam adipisci.'
                    -
                      id: 019990cd-7c60-72e7-8f23-d1b80754f7f9
                      name: 'Arvid Rempel'
                      description: 'Laborum vel id iure dolor reiciendis.'
                    -
                      id: 019990cd-7c5b-720f-b348-f4006b1eb506
                      name: 'Prof. Lavinia Shanahan'
                      description: 'Consectetur dolor nostrum aut unde.'
                    -
                      id: 019990cd-7c57-73df-8a0c-e0b715eaef40
                      name: 'Fausto Skiles'
                      description: 'Minima autem in autem.'
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-7c69-7365-80db-159c2774b11e
                        name: 'Jillian Powlowski'
                        description: 'Quam eos dolorem ducimus voluptas.'
                      -
                        id: 019990cd-7c64-7005-94e0-7b65defb8199
                        name: 'Ms. Maude Berge'
                        description: 'Sed tempora at veniam totam adipisci.'
                      -
                        id: 019990cd-7c60-72e7-8f23-d1b80754f7f9
                        name: 'Arvid Rempel'
                        description: 'Laborum vel id iure dolor reiciendis.'
                      -
                        id: 019990cd-7c5b-720f-b348-f4006b1eb506
                        name: 'Prof. Lavinia Shanahan'
                        description: 'Consectetur dolor nostrum aut unde.'
                      -
                        id: 019990cd-7c57-73df-8a0c-e0b715eaef40
                        name: 'Fausto Skiles'
                        description: 'Minima autem in autem.'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-7c69-7365-80db-159c2774b11e
                        name:
                          type: string
                          example: 'Jillian Powlowski'
                        description:
                          type: string
                          example: 'Quam eos dolorem ducimus voluptas.'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: "Edit user's roles"
      operationId: editUsersRoles
      description: "This endpoint lets you edit user's roles (add,update,delete)"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: "The user's roles updated successfully."
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: "The user's roles updated successfully."
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                role_ids:
                  type: array
                  description: 'List of the roles Ids.'
                  example:
                    - 16
                  items:
                    type: integer
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 019990ce-ae94-7379-8c99-96169fc5b566
        required: true
        schema:
          type: string
  /api/v1/admin/profile:
    get:
      summary: "Show user's profile"
      operationId: showUsersProfile
      description: "This endpoint lets you show user's authenticated profile"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2e9265ca-649f-385b-8c4e-7a246ddff7d2
                    name: 'Joe Doe'
                    first_name: joe
                    last_name: doe
                    username: Test1
                    email: test1@gmail.com
                    phone: '+9639487222'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 1
                      value: ADMIN
                    notes: 'Additional notes'
                    image: 'http://localhost/storage/users/RmJPHNMGCXfWLR9PYELXuIFwNqNo71lGflDGlwDv.jpg'
                    has_verified_email: true
                    has_verified_phone: true
                    roles: null
                    company:
                      id: 4b110387-bfe6-4382-8555-846fbe8dfc1b
                      name: 'Rebeka Altenwerth PhD'
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2e9265ca-649f-385b-8c4e-7a246ddff7d2
                      name:
                        type: string
                        example: 'Joe Doe'
                      first_name:
                        type: string
                        example: joe
                      last_name:
                        type: string
                        example: doe
                      username:
                        type: string
                        example: Test1
                      email:
                        type: string
                        example: test1@gmail.com
                      phone:
                        type: string
                        example: '+9639487222'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ADMIN
                      notes:
                        type: string
                        example: 'Additional notes'
                      image:
                        type: string
                        example: 'http://localhost/storage/users/RmJPHNMGCXfWLR9PYELXuIFwNqNo71lGflDGlwDv.jpg'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                      roles:
                        type: string
                        example: null
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 4b110387-bfe6-4382-8555-846fbe8dfc1b
                          name:
                            type: string
                            example: 'Rebeka Altenwerth PhD'
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
  /api/v1/admin/users:
    get:
      summary: 'Show all users'
      operationId: showAllUsers
      description: 'This endpoint lets you show all users'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[name]'
          description: 'Field to filter items by name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[username]'
          description: 'Field to filter items by username.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by username.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[type]'
          description: 'Field to filter items by type.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by type.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by name, username,type,status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name, username,type,status.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by status,type.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by status,type.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: a180f5a3-9386-3523-9516-7660ed6016e2
                      name: "Linnea O'Reilly Zoey Ferry"
                      first_name: "Linnea O'Reilly"
                      last_name: 'Zoey Ferry'
                      username: 'Ofelia Kiehn'
                      email: wlockman@example.com
                      phone: +1-910-238-4846
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 3
                        value: DOCTOR
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      company: null
                    -
                      id: 9c80edca-02b7-378e-b41e-e09b76648bc2
                      name: 'Ernestine Heaney Winona Morar'
                      first_name: 'Ernestine Heaney'
                      last_name: 'Winona Morar'
                      username: 'Vito Strosin'
                      email: wbechtelar@example.net
                      phone: +1.608.780.0474
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 4
                        value: DATA_ENTRY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      company: null
                    -
                      id: 92312fee-a78d-390c-b2a0-3ac8b720d5ad
                      name: 'Dr. Luis Haley Prof. Dudley Mueller V'
                      first_name: 'Dr. Luis Haley'
                      last_name: 'Prof. Dudley Mueller V'
                      username: 'Rey Ebert'
                      email: cortez.konopelski@example.org
                      phone: +1.518.554.0466
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 3
                        value: DOCTOR
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      company: null
                    -
                      id: 76ceff51-437c-312f-b44a-17072d0e8a53
                      name: 'Ron Ruecker I Terry Wiza'
                      first_name: 'Ron Ruecker I'
                      last_name: 'Terry Wiza'
                      username: 'Roma Beatty'
                      email: myron.olson@example.net
                      phone: '+17708161488'
                      status:
                        key: 2
                        value: INACTIVE
                      type:
                        key: 2
                        value: LABORATORY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      company: null
                    -
                      id: 66577e87-9a43-3505-aa34-bfd0bfc435d7
                      name: 'Dillon Zboncak Kris Volkman'
                      first_name: 'Dillon Zboncak'
                      last_name: 'Kris Volkman'
                      username: 'Norene McCullough'
                      email: heathcote.dora@example.net
                      phone: +1-678-549-9869
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 3
                        value: DOCTOR
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      company: null
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: a180f5a3-9386-3523-9516-7660ed6016e2
                        name: "Linnea O'Reilly Zoey Ferry"
                        first_name: "Linnea O'Reilly"
                        last_name: 'Zoey Ferry'
                        username: 'Ofelia Kiehn'
                        email: wlockman@example.com
                        phone: +1-910-238-4846
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 3
                          value: DOCTOR
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                        roles: null
                        company: null
                      -
                        id: 9c80edca-02b7-378e-b41e-e09b76648bc2
                        name: 'Ernestine Heaney Winona Morar'
                        first_name: 'Ernestine Heaney'
                        last_name: 'Winona Morar'
                        username: 'Vito Strosin'
                        email: wbechtelar@example.net
                        phone: +1.608.780.0474
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 4
                          value: DATA_ENTRY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                        roles: null
                        company: null
                      -
                        id: 92312fee-a78d-390c-b2a0-3ac8b720d5ad
                        name: 'Dr. Luis Haley Prof. Dudley Mueller V'
                        first_name: 'Dr. Luis Haley'
                        last_name: 'Prof. Dudley Mueller V'
                        username: 'Rey Ebert'
                        email: cortez.konopelski@example.org
                        phone: +1.518.554.0466
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 3
                          value: DOCTOR
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                        roles: null
                        company: null
                      -
                        id: 76ceff51-437c-312f-b44a-17072d0e8a53
                        name: 'Ron Ruecker I Terry Wiza'
                        first_name: 'Ron Ruecker I'
                        last_name: 'Terry Wiza'
                        username: 'Roma Beatty'
                        email: myron.olson@example.net
                        phone: '+17708161488'
                        status:
                          key: 2
                          value: INACTIVE
                        type:
                          key: 2
                          value: LABORATORY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                        roles: null
                        company: null
                      -
                        id: 66577e87-9a43-3505-aa34-bfd0bfc435d7
                        name: 'Dillon Zboncak Kris Volkman'
                        first_name: 'Dillon Zboncak'
                        last_name: 'Kris Volkman'
                        username: 'Norene McCullough'
                        email: heathcote.dora@example.net
                        phone: +1-678-549-9869
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 3
                          value: DOCTOR
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                        roles: null
                        company: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: a180f5a3-9386-3523-9516-7660ed6016e2
                        name:
                          type: string
                          example: "Linnea O'Reilly Zoey Ferry"
                        first_name:
                          type: string
                          example: "Linnea O'Reilly"
                        last_name:
                          type: string
                          example: 'Zoey Ferry'
                        username:
                          type: string
                          example: 'Ofelia Kiehn'
                        email:
                          type: string
                          example: wlockman@example.com
                        phone:
                          type: string
                          example: +1-910-238-4846
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: ACTIVE
                        type:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 3
                            value:
                              type: string
                              example: DOCTOR
                        notes:
                          type: string
                          example: null
                        image:
                          type: string
                          example: 'http://localhost/storage/users/user.png'
                        has_verified_email:
                          type: boolean
                          example: true
                        has_verified_phone:
                          type: boolean
                          example: true
                        roles:
                          type: string
                          example: null
                        company:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add user'
      operationId: addUser
      description: 'This endpoint lets you add user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-83bf-70e6-bcfc-32ea9d633e4a
                    name: 'Test Test'
                    first_name: Test
                    last_name: Test
                    username: test_test
                    email: test@gmail.com
                    phone: '+963994622354'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 3
                      value: DOCTOR
                    notes: null
                    image: 'http://localhost/storage/users/68d94b23bc1d0.jpg'
                    has_verified_email: false
                    has_verified_phone: false
                    roles: null
                    company:
                      id: d2eafda9-7e29-4957-b59f-934c95b2694a
                      name: 'Okey Bogisich'
                  message: 'The user added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-83bf-70e6-bcfc-32ea9d633e4a
                      name:
                        type: string
                        example: 'Test Test'
                      first_name:
                        type: string
                        example: Test
                      last_name:
                        type: string
                        example: Test
                      username:
                        type: string
                        example: test_test
                      email:
                        type: string
                        example: test@gmail.com
                      phone:
                        type: string
                        example: '+963994622354'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 3
                          value:
                            type: string
                            example: DOCTOR
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/68d94b23bc1d0.jpg'
                      has_verified_email:
                        type: boolean
                        example: false
                      has_verified_phone:
                        type: boolean
                        example: false
                      roles:
                        type: string
                        example: null
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d2eafda9-7e29-4957-b59f-934c95b2694a
                          name:
                            type: string
                            example: 'Okey Bogisich'
                  message:
                    type: string
                    example: 'The user added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                username:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: rowan.gulgowski@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: 'BNvYgxwmi/#iw/kX'
                  nullable: false
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                type:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                status:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: w
                  nullable: false
                company_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the companies table.'
                  example: architecto
                  nullable: false
                is_owner:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
              required:
                - first_name
                - last_name
                - username
                - password
                - type
                - status
                - company_id
  '/api/v1/admin/users/{id}':
    get:
      summary: 'Show specific user'
      operationId: showSpecificUser
      description: 'This endpoint lets you show specific user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 20f43f32-0388-3a23-8c0b-25574ec20ee9
                    name: 'Miss Malinda Graham IV Jarret Erdman'
                    first_name: 'Miss Malinda Graham IV'
                    last_name: 'Jarret Erdman'
                    username: 'Spencer Keebler'
                    email: zbruen@example.org
                    phone: +1-580-560-6925
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 4
                      value: DATA_ENTRY
                    notes: null
                    image: 'http://localhost/storage/users/user.png'
                    has_verified_email: true
                    has_verified_phone: true
                    roles: null
                    company: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 20f43f32-0388-3a23-8c0b-25574ec20ee9
                      name:
                        type: string
                        example: 'Miss Malinda Graham IV Jarret Erdman'
                      first_name:
                        type: string
                        example: 'Miss Malinda Graham IV'
                      last_name:
                        type: string
                        example: 'Jarret Erdman'
                      username:
                        type: string
                        example: 'Spencer Keebler'
                      email:
                        type: string
                        example: zbruen@example.org
                      phone:
                        type: string
                        example: +1-580-560-6925
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: DATA_ENTRY
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/user.png'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                      roles:
                        type: string
                        example: null
                      company:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific user'
      operationId: updateSpecificUser
      description: 'This endpoint lets you update specific user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: a7264f3b-b3b4-3cff-8632-55b541e90dc0
                    name: 'Test Test'
                    first_name: Test
                    last_name: test
                    username: test_test
                    email: test@gmail.com
                    phone: '+963994622354'
                    status:
                      key: 2
                      value: INACTIVE
                    type:
                      key: 1
                      value: ADMIN
                    notes: null
                    image: 'http://localhost/storage/users/68d94b23b5c16.jpg'
                    has_verified_email: true
                    has_verified_phone: true
                    roles: null
                    company:
                      id: 5236ee35-53f9-4c3e-aeff-621623f5d630
                      name: 'Mrs. Shanelle Lang'
                  message: "User's information updated successfully"
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: a7264f3b-b3b4-3cff-8632-55b541e90dc0
                      name:
                        type: string
                        example: 'Test Test'
                      first_name:
                        type: string
                        example: Test
                      last_name:
                        type: string
                        example: test
                      username:
                        type: string
                        example: test_test
                      email:
                        type: string
                        example: test@gmail.com
                      phone:
                        type: string
                        example: '+963994622354'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: INACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ADMIN
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/68d94b23b5c16.jpg'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                      roles:
                        type: string
                        example: null
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 5236ee35-53f9-4c3e-aeff-621623f5d630
                          name:
                            type: string
                            example: 'Mrs. Shanelle Lang'
                  message:
                    type: string
                    example: "User's information updated successfully"
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                username:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: rowan.gulgowski@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: 'BNvYgxwmi/#iw/kX'
                  nullable: false
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                type:
                  type: integer
                  description: ''
                  example: 4
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                status:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: w
                  nullable: false
                company_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the companies table.'
                  example: null
                  nullable: false
                is_owner:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
    delete:
      summary: 'Delete specific user'
      operationId: deleteSpecificUser
      description: 'This endpoint lets you user specific user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The user deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The user deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 019990ce-ae94-7379-8c99-96169fc5b566
        required: true
        schema:
          type: string
  /api/v1/admin/permissions:
    get:
      summary: 'Show All'
      operationId: showAll
      description: 'This endpoint lets you show all permissions'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      group: 'User Management'
                      permissions:
                        -
                          id: 019990cd-5b39-7186-8029-605c4c84a47b
                          name: 'Dora Kozey II'
                        -
                          id: 019990cd-5b40-735e-b1c1-159c9c23b926
                          name: 'Gage Sporer'
                        -
                          id: 019990cd-5b45-7215-83ce-287d78516ef9
                          name: 'Kaela Flatley III'
                        -
                          id: 019990cd-5b49-73ee-9025-39b5ade83a83
                          name: 'Dr. Clyde Weber V'
                        -
                          id: 019990cd-5b4e-7387-9cca-aeb488ae8dfd
                          name: 'Ms. Rosalinda Balistreri'
                    -
                      group: 'Role Management'
                      permissions:
                        -
                          id: 019990cd-5b59-73e9-9833-4a3d683836ad
                          name: 'Sabina Ebert'
                        -
                          id: 019990cd-5b5e-71e0-a770-bd2ddcf6af93
                          name: 'Salvatore Quigley'
                        -
                          id: 019990cd-5b62-7014-90db-1da18f7827f7
                          name: 'Davon Reilly'
                        -
                          id: 019990cd-5b66-7222-ab10-1918c8c1cd16
                          name: 'Okey Vandervort III'
                        -
                          id: 019990cd-5b6b-7349-872e-bd89085f00f2
                          name: 'Dr. Valentina Jenkins Jr.'
                    -
                      group: 'Table Management'
                      permissions:
                        -
                          id: 019990cd-5b75-716b-9a4a-ba4153b30748
                          name: 'Ms. Bonnie Kunde Jr.'
                        -
                          id: 019990cd-5b7a-73f9-9e7a-9d55c9bc6385
                          name: 'Prof. Destini Botsford'
                        -
                          id: 019990cd-5b7f-706d-8d8d-0f18ee6da798
                          name: 'Abe Wolff PhD'
                        -
                          id: 019990cd-5b8f-701e-a082-9adeb665e358
                          name: 'Prof. Zoie Hoeger'
                        -
                          id: 019990cd-5b94-7388-b55f-1ffe013e1fe6
                          name: 'Kory Erdman'
                    -
                      group: ''
                      permissions:
                        -
                          id: 019990cd-5bad-72a1-89f3-8efa99263a64
                          name: SHOW_PERMISSIONS
                properties:
                  data:
                    type: array
                    example:
                      -
                        group: 'User Management'
                        permissions:
                          -
                            id: 019990cd-5b39-7186-8029-605c4c84a47b
                            name: 'Dora Kozey II'
                          -
                            id: 019990cd-5b40-735e-b1c1-159c9c23b926
                            name: 'Gage Sporer'
                          -
                            id: 019990cd-5b45-7215-83ce-287d78516ef9
                            name: 'Kaela Flatley III'
                          -
                            id: 019990cd-5b49-73ee-9025-39b5ade83a83
                            name: 'Dr. Clyde Weber V'
                          -
                            id: 019990cd-5b4e-7387-9cca-aeb488ae8dfd
                            name: 'Ms. Rosalinda Balistreri'
                      -
                        group: 'Role Management'
                        permissions:
                          -
                            id: 019990cd-5b59-73e9-9833-4a3d683836ad
                            name: 'Sabina Ebert'
                          -
                            id: 019990cd-5b5e-71e0-a770-bd2ddcf6af93
                            name: 'Salvatore Quigley'
                          -
                            id: 019990cd-5b62-7014-90db-1da18f7827f7
                            name: 'Davon Reilly'
                          -
                            id: 019990cd-5b66-7222-ab10-1918c8c1cd16
                            name: 'Okey Vandervort III'
                          -
                            id: 019990cd-5b6b-7349-872e-bd89085f00f2
                            name: 'Dr. Valentina Jenkins Jr.'
                      -
                        group: 'Table Management'
                        permissions:
                          -
                            id: 019990cd-5b75-716b-9a4a-ba4153b30748
                            name: 'Ms. Bonnie Kunde Jr.'
                          -
                            id: 019990cd-5b7a-73f9-9e7a-9d55c9bc6385
                            name: 'Prof. Destini Botsford'
                          -
                            id: 019990cd-5b7f-706d-8d8d-0f18ee6da798
                            name: 'Abe Wolff PhD'
                          -
                            id: 019990cd-5b8f-701e-a082-9adeb665e358
                            name: 'Prof. Zoie Hoeger'
                          -
                            id: 019990cd-5b94-7388-b55f-1ffe013e1fe6
                            name: 'Kory Erdman'
                      -
                        group: ''
                        permissions:
                          -
                            id: 019990cd-5bad-72a1-89f3-8efa99263a64
                            name: SHOW_PERMISSIONS
                    items:
                      type: object
                      properties:
                        group:
                          type: string
                          example: 'User Management'
                        permissions:
                          type: array
                          example:
                            -
                              id: 019990cd-5b39-7186-8029-605c4c84a47b
                              name: 'Dora Kozey II'
                            -
                              id: 019990cd-5b40-735e-b1c1-159c9c23b926
                              name: 'Gage Sporer'
                            -
                              id: 019990cd-5b45-7215-83ce-287d78516ef9
                              name: 'Kaela Flatley III'
                            -
                              id: 019990cd-5b49-73ee-9025-39b5ade83a83
                              name: 'Dr. Clyde Weber V'
                            -
                              id: 019990cd-5b4e-7387-9cca-aeb488ae8dfd
                              name: 'Ms. Rosalinda Balistreri'
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                example: 019990cd-5b39-7186-8029-605c4c84a47b
                              name:
                                type: string
                                example: 'Dora Kozey II'
      tags:
        - Admin
  '/api/v1/admin/permissions/{id}':
    get:
      summary: 'Show specific permission'
      operationId: showSpecificPermission
      description: 'This endpoint lets you show specific permission'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-5987-7318-a4ba-a95f988f1adb
                    name: 'Lisette Brakus PhD'
                    description: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-5987-7318-a4ba-a95f988f1adb
                      name:
                        type: string
                        example: 'Lisette Brakus PhD'
                      description:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the permission.'
        example: 019990ce-a812-72a2-b9f5-98918b61f022
        required: true
        schema:
          type: string
  /api/v1/admin/roles:
    get:
      summary: 'Show All'
      operationId: showAll
      description: 'This endpoint lets you show all roles'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-6436-722a-a0c1-040b1c92beae
                      name: 'Percival Parisian'
                      description: 'Ab iusto vel magni sit sint.'
                    -
                      id: 019990cd-642d-7230-8e02-1a818ffc5170
                      name: 'Katherine Marquardt'
                      description: 'Deleniti ut qui sit beatae iure quas.'
                    -
                      id: 019990cd-641a-73d4-a5b1-e070ca84a66c
                      name: 'Mrs. Alaina Tromp'
                      description: 'Quod magni voluptate qui facere iste consequatur.'
                    -
                      id: 019990cd-63f8-7091-a5c0-16dac28e8d2b
                      name: 'Trisha Kozey'
                      description: 'In qui veniam nam tempora ipsum et.'
                    -
                      id: 019990cd-63d6-7089-87a6-1962b23a574d
                      name: 'Jamar Okuneva'
                      description: 'Id et officia numquam in veniam.'
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-6436-722a-a0c1-040b1c92beae
                        name: 'Percival Parisian'
                        description: 'Ab iusto vel magni sit sint.'
                      -
                        id: 019990cd-642d-7230-8e02-1a818ffc5170
                        name: 'Katherine Marquardt'
                        description: 'Deleniti ut qui sit beatae iure quas.'
                      -
                        id: 019990cd-641a-73d4-a5b1-e070ca84a66c
                        name: 'Mrs. Alaina Tromp'
                        description: 'Quod magni voluptate qui facere iste consequatur.'
                      -
                        id: 019990cd-63f8-7091-a5c0-16dac28e8d2b
                        name: 'Trisha Kozey'
                        description: 'In qui veniam nam tempora ipsum et.'
                      -
                        id: 019990cd-63d6-7089-87a6-1962b23a574d
                        name: 'Jamar Okuneva'
                        description: 'Id et officia numquam in veniam.'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-6436-722a-a0c1-040b1c92beae
                        name:
                          type: string
                          example: 'Percival Parisian'
                        description:
                          type: string
                          example: 'Ab iusto vel magni sit sint.'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add role'
      operationId: addRole
      description: 'This endpoint lets you add role'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-686c-70f2-8da4-3394f757559e
                    name: 'Name role'
                    description: 'Description role'
                  message: 'The role added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-686c-70f2-8da4-3394f757559e
                      name:
                        type: string
                        example: 'Name role'
                      description:
                        type: string
                        example: 'Description role'
                  message:
                    type: string
                    example: 'The role added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Et animi quos velit et fugiat.'
                  nullable: false
              required:
                - name
  '/api/v1/admin/roles/{id}':
    get:
      summary: 'Show specific role'
      operationId: showSpecificRole
      description: 'This endpoint lets you show specific role'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-64fb-720c-8b01-47e5631e2923
                    name: 'Isaias Sipes Jr.'
                    description: 'Et repellendus ea dolorum et quas.'
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-64fb-720c-8b01-47e5631e2923
                      name:
                        type: string
                        example: 'Isaias Sipes Jr.'
                      description:
                        type: string
                        example: 'Et repellendus ea dolorum et quas.'
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific role'
      operationId: updateSpecificRole
      description: 'This endpoint lets you update specific role'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-68ed-72d7-8c15-7d24ce01dba5
                    name: 'New Name'
                    description: 'New description'
                  message: 'The role updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-68ed-72d7-8c15-7d24ce01dba5
                      name:
                        type: string
                        example: 'New Name'
                      description:
                        type: string
                        example: 'New description'
                  message:
                    type: string
                    example: 'The role updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Et animi quos velit et fugiat.'
                  nullable: false
    delete:
      summary: 'Delete specific role'
      operationId: deleteSpecificRole
      description: 'This endpoint lets you delete specific role'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The role deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The role deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the role.'
        example: 019990ce-ab0c-709d-a753-daad779c0287
        required: true
        schema:
          type: string
  /api/v1/admin/companies:
    get:
      summary: 'Show all companies'
      operationId: showAllCompanies
      description: 'This endpoint lets you show all companies'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Field to filter items by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[name]'
          description: 'Field to filter items by name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by name,created_at,updated_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by name,created_at,updated_at.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to perform a custom search.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to perform a custom search.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 9892d29f-64b6-400d-948d-808422ad94e4
                      name: 'Mr. Amos Reichel DVM'
                      name_ar: 'Garett White'
                      url: meaghan.hoppe@denesik.com
                      abbreviation: 'Ut molestias eveniet architecto dolor totam illo commodi et.'
                      logo: 'http://localhost/storage/companies/logo.png'
                      phone: 848-918-7499
                      status:
                        key: 3
                        value: ON_HOLD
                      email: vking@example.org
                      address: "7255 Lesly Meadows Apt. 530\nKurtville, OK 11324-9141"
                      address_ar: "631 Wintheiser Neck\nVidashire, IL 41689-4079"
                      users: null
                    -
                      id: 90c55f15-40fe-49ec-9cf4-36c2861742a8
                      name: 'Tate West'
                      name_ar: 'Annette Homenick DVM'
                      url: valentine.miller@runte.com
                      abbreviation: 'Est delectus mollitia et.'
                      logo: 'http://localhost/storage/companies/logo.png'
                      phone: '(380) 444-5498'
                      status:
                        key: 2
                        value: INACTIVE
                      email: dietrich.gerald@example.com
                      address: "370 Harvey Mountains Suite 202\nSouth Blazeshire, NJ 79034"
                      address_ar: "973 Taya Ville Apt. 462\nNorth Dianahaven, MS 40810"
                      users: null
                    -
                      id: 77310d24-fbbf-4349-93d3-b02371199747
                      name: 'Emilia Prosacco'
                      name_ar: 'Dianna Kilback'
                      url: schmitt.april@dubuque.com
                      abbreviation: 'Qui vero quo ipsa illum unde.'
                      logo: 'http://localhost/storage/companies/logo.png'
                      phone: 1-985-679-1656
                      status:
                        key: 3
                        value: ON_HOLD
                      email: felicia70@example.net
                      address: "895 Wilkinson Overpass\nNew Tanyaview, KY 32261-7389"
                      address_ar: "6406 Ankunding Plaza Suite 649\nMissouriland, IL 56986"
                      users: null
                    -
                      id: 72068ea8-0757-42c0-93d6-f5ab02de2283
                      name: 'Mrs. Emilie Krajcik'
                      name_ar: 'Brook Fahey I'
                      url: harvey.smitham@brekke.com
                      abbreviation: 'Voluptatem nemo nesciunt consequatur suscipit provident.'
                      logo: 'http://localhost/storage/companies/logo.png'
                      phone: +1-854-217-1307
                      status:
                        key: 2
                        value: INACTIVE
                      email: dkunze@example.net
                      address: "643 Hackett Estates Suite 445\nWest Louveniachester, KS 69739"
                      address_ar: "391 Josie Forges\nSouth Deontae, PA 30362-6743"
                      users: null
                    -
                      id: 5786cf9e-fd99-4db5-b7b5-f2caf5dcd38d
                      name: 'Sid Considine'
                      name_ar: 'Robert Ankunding'
                      url: sheidenreich@hotmail.com
                      abbreviation: 'Provident minima eum provident ducimus.'
                      logo: 'http://localhost/storage/companies/logo.png'
                      phone: 352.296.0889
                      status:
                        key: 2
                        value: INACTIVE
                      email: woconner@example.org
                      address: "495 West Junctions Apt. 596\nLake Clarabelleshire, FL 55519"
                      address_ar: "463 Blanda Dam\nSkilesburgh, IN 56383-7748"
                      users: null
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 9892d29f-64b6-400d-948d-808422ad94e4
                        name: 'Mr. Amos Reichel DVM'
                        name_ar: 'Garett White'
                        url: meaghan.hoppe@denesik.com
                        abbreviation: 'Ut molestias eveniet architecto dolor totam illo commodi et.'
                        logo: 'http://localhost/storage/companies/logo.png'
                        phone: 848-918-7499
                        status:
                          key: 3
                          value: ON_HOLD
                        email: vking@example.org
                        address: "7255 Lesly Meadows Apt. 530\nKurtville, OK 11324-9141"
                        address_ar: "631 Wintheiser Neck\nVidashire, IL 41689-4079"
                        users: null
                      -
                        id: 90c55f15-40fe-49ec-9cf4-36c2861742a8
                        name: 'Tate West'
                        name_ar: 'Annette Homenick DVM'
                        url: valentine.miller@runte.com
                        abbreviation: 'Est delectus mollitia et.'
                        logo: 'http://localhost/storage/companies/logo.png'
                        phone: '(380) 444-5498'
                        status:
                          key: 2
                          value: INACTIVE
                        email: dietrich.gerald@example.com
                        address: "370 Harvey Mountains Suite 202\nSouth Blazeshire, NJ 79034"
                        address_ar: "973 Taya Ville Apt. 462\nNorth Dianahaven, MS 40810"
                        users: null
                      -
                        id: 77310d24-fbbf-4349-93d3-b02371199747
                        name: 'Emilia Prosacco'
                        name_ar: 'Dianna Kilback'
                        url: schmitt.april@dubuque.com
                        abbreviation: 'Qui vero quo ipsa illum unde.'
                        logo: 'http://localhost/storage/companies/logo.png'
                        phone: 1-985-679-1656
                        status:
                          key: 3
                          value: ON_HOLD
                        email: felicia70@example.net
                        address: "895 Wilkinson Overpass\nNew Tanyaview, KY 32261-7389"
                        address_ar: "6406 Ankunding Plaza Suite 649\nMissouriland, IL 56986"
                        users: null
                      -
                        id: 72068ea8-0757-42c0-93d6-f5ab02de2283
                        name: 'Mrs. Emilie Krajcik'
                        name_ar: 'Brook Fahey I'
                        url: harvey.smitham@brekke.com
                        abbreviation: 'Voluptatem nemo nesciunt consequatur suscipit provident.'
                        logo: 'http://localhost/storage/companies/logo.png'
                        phone: +1-854-217-1307
                        status:
                          key: 2
                          value: INACTIVE
                        email: dkunze@example.net
                        address: "643 Hackett Estates Suite 445\nWest Louveniachester, KS 69739"
                        address_ar: "391 Josie Forges\nSouth Deontae, PA 30362-6743"
                        users: null
                      -
                        id: 5786cf9e-fd99-4db5-b7b5-f2caf5dcd38d
                        name: 'Sid Considine'
                        name_ar: 'Robert Ankunding'
                        url: sheidenreich@hotmail.com
                        abbreviation: 'Provident minima eum provident ducimus.'
                        logo: 'http://localhost/storage/companies/logo.png'
                        phone: 352.296.0889
                        status:
                          key: 2
                          value: INACTIVE
                        email: woconner@example.org
                        address: "495 West Junctions Apt. 596\nLake Clarabelleshire, FL 55519"
                        address_ar: "463 Blanda Dam\nSkilesburgh, IN 56383-7748"
                        users: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 9892d29f-64b6-400d-948d-808422ad94e4
                        name:
                          type: string
                          example: 'Mr. Amos Reichel DVM'
                        name_ar:
                          type: string
                          example: 'Garett White'
                        url:
                          type: string
                          example: meaghan.hoppe@denesik.com
                        abbreviation:
                          type: string
                          example: 'Ut molestias eveniet architecto dolor totam illo commodi et.'
                        logo:
                          type: string
                          example: 'http://localhost/storage/companies/logo.png'
                        phone:
                          type: string
                          example: 848-918-7499
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 3
                            value:
                              type: string
                              example: ON_HOLD
                        email:
                          type: string
                          example: vking@example.org
                        address:
                          type: string
                          example: "7255 Lesly Meadows Apt. 530\nKurtville, OK 11324-9141"
                        address_ar:
                          type: string
                          example: "631 Wintheiser Neck\nVidashire, IL 41689-4079"
                        users:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add Company'
      operationId: addCompany
      description: 'This endpoint lets you add company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-4cc5-729a-9d90-28ff6b1e0185
                    name: 'Company Name'
                    name_ar: 'Company Name'
                    url: CompanyName.com
                    abbreviation: 'Company abbreviation'
                    logo: 'http://localhost/storage/companies/68d94b15aa327.jpg'
                    phone: '+971555422373'
                    status:
                      key: 1
                      value: ACTIVE
                    email: companytest@hotmail.com
                    address: Damas
                    address_ar: دمشق
                    users: null
                  message: 'The Company added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-4cc5-729a-9d90-28ff6b1e0185
                      name:
                        type: string
                        example: 'Company Name'
                      name_ar:
                        type: string
                        example: 'Company Name'
                      url:
                        type: string
                        example: CompanyName.com
                      abbreviation:
                        type: string
                        example: 'Company abbreviation'
                      logo:
                        type: string
                        example: 'http://localhost/storage/companies/68d94b15aa327.jpg'
                      phone:
                        type: string
                        example: '+971555422373'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      email:
                        type: string
                        example: companytest@hotmail.com
                      address:
                        type: string
                        example: Damas
                      address_ar:
                        type: string
                        example: دمشق
                      users:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Company added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                name_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                url:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html'
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: mya96@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: architecto
                  nullable: false
                status:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                logo:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                address_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
              required:
                - name
                - name_ar
                - abbreviation
                - email
                - phone
  '/api/v1/admin/companies/{id}':
    get:
      summary: 'Show Specific Company'
      operationId: showSpecificCompany
      description: 'This endpoint lets you show specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 88ca8580-6b9c-4799-bc85-f7a9012f5373
                    name: 'Leanne Schulist'
                    name_ar: 'Brandi Bailey'
                    url: rosalyn.gulgowski@hotmail.com
                    abbreviation: 'Eos quibusdam alias eaque.'
                    logo: 'http://localhost/storage/companies/logo.png'
                    phone: +1-703-668-5485
                    status:
                      key: 3
                      value: ON_HOLD
                    email: huel.garrick@example.net
                    address: "382 Champlin Lane\nNew Trycia, KY 53683"
                    address_ar: "7655 Brekke Landing\nSchimmelside, IN 14204"
                    users: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 88ca8580-6b9c-4799-bc85-f7a9012f5373
                      name:
                        type: string
                        example: 'Leanne Schulist'
                      name_ar:
                        type: string
                        example: 'Brandi Bailey'
                      url:
                        type: string
                        example: rosalyn.gulgowski@hotmail.com
                      abbreviation:
                        type: string
                        example: 'Eos quibusdam alias eaque.'
                      logo:
                        type: string
                        example: 'http://localhost/storage/companies/logo.png'
                      phone:
                        type: string
                        example: +1-703-668-5485
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 3
                          value:
                            type: string
                            example: ON_HOLD
                      email:
                        type: string
                        example: huel.garrick@example.net
                      address:
                        type: string
                        example: "382 Champlin Lane\nNew Trycia, KY 53683"
                      address_ar:
                        type: string
                        example: "7655 Brekke Landing\nSchimmelside, IN 14204"
                      users:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific company'
      operationId: updateSpecificCompany
      description: 'This endpoint lets you update specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 309cd4e0-93b7-46fb-9a75-fe9a872765ac
                    name: 'Company Name'
                    name_ar: 'Dr. Hayden Marvin DVM'
                    url: CompanyName.com
                    abbreviation: 'Company abbreviation'
                    logo: 'http://localhost/storage/companies/logo.png'
                    phone: '+971555422373'
                    status:
                      key: 1
                      value: ACTIVE
                    email: companytest@hotmail.com
                    address: "476 Friesen View Apt. 525\nPort Wilford, CT 04307"
                    address_ar: "48684 Legros Stream\nAlessandrachester, MA 57600"
                    users: null
                  message: 'The Company updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 309cd4e0-93b7-46fb-9a75-fe9a872765ac
                      name:
                        type: string
                        example: 'Company Name'
                      name_ar:
                        type: string
                        example: 'Dr. Hayden Marvin DVM'
                      url:
                        type: string
                        example: CompanyName.com
                      abbreviation:
                        type: string
                        example: 'Company abbreviation'
                      logo:
                        type: string
                        example: 'http://localhost/storage/companies/logo.png'
                      phone:
                        type: string
                        example: '+971555422373'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      email:
                        type: string
                        example: companytest@hotmail.com
                      address:
                        type: string
                        example: "476 Friesen View Apt. 525\nPort Wilford, CT 04307"
                      address_ar:
                        type: string
                        example: "48684 Legros Stream\nAlessandrachester, MA 57600"
                      users:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Company updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                name_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                url:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html'
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: mya96@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                status:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                logo:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: k
                  nullable: false
                address_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: c
                  nullable: false
    delete:
      summary: 'Delete specific company'
      operationId: deleteSpecificCompany
      description: 'This endpoint lets you delete specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Company deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Company deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  /api/v1/admin/plans:
    get:
      summary: 'Show all Plans'
      operationId: showAllPlans
      description: 'This endpoint lets you show all plans'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Field to filter items by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[name]'
          description: 'Field to filter items by name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[period]'
          description: 'Field to filter items by period.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by period.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by period.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by period.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: a2d91307-4c2c-463a-bd2d-db20dff5228a
                      code: PLANCYI
                      name: 'vel nam'
                      period:
                        key: 1
                        value: MONTHLY
                      price_cents: 46932
                      currency:
                        key: 2
                        value: EUR
                      features: '{"users":43,"storage":"10GB","support":"Priority support"}'
                      created_at: '2025-09-28T14:50:02.000000Z'
                    -
                      id: 98556ed3-ba42-4663-9b1e-e247227ffb7c
                      code: PLANNGK
                      name: 'ut aliquid'
                      period:
                        key: 1
                        value: MONTHLY
                      price_cents: 10227
                      currency:
                        key: 1
                        value: USD
                      features: '{"users":22,"storage":"1TB","support":"24\/7 Support"}'
                      created_at: '2025-09-28T14:50:02.000000Z'
                    -
                      id: 927014fc-514d-455c-92ec-775e65544de1
                      code: PLANTNX
                      name: 'ea sit'
                      period:
                        key: 2
                        value: YEARLY
                      price_cents: 48139
                      currency:
                        key: 3
                        value: AED
                      features: '{"users":36,"storage":"50GB","support":"Email only"}'
                      created_at: '2025-09-28T14:50:02.000000Z'
                    -
                      id: 71d0c6e1-21e5-4a02-92f2-50b0923b769b
                      code: PLANGLW
                      name: 'facilis voluptatem'
                      period:
                        key: 1
                        value: MONTHLY
                      price_cents: 11655
                      currency:
                        key: 1
                        value: USD
                      features: '{"users":44,"storage":"100GB","support":"Email only"}'
                      created_at: '2025-09-28T14:50:02.000000Z'
                    -
                      id: 342001d2-46b5-44cf-9a22-59b80859fdcc
                      code: PLANPDB
                      name: 'quo et'
                      period:
                        key: 2
                        value: YEARLY
                      price_cents: 20748
                      currency:
                        key: 3
                        value: AED
                      features: '{"users":31,"storage":"100GB","support":"Email only"}'
                      created_at: '2025-09-28T14:50:02.000000Z'
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: a2d91307-4c2c-463a-bd2d-db20dff5228a
                        code: PLANCYI
                        name: 'vel nam'
                        period:
                          key: 1
                          value: MONTHLY
                        price_cents: 46932
                        currency:
                          key: 2
                          value: EUR
                        features: '{"users":43,"storage":"10GB","support":"Priority support"}'
                        created_at: '2025-09-28T14:50:02.000000Z'
                      -
                        id: 98556ed3-ba42-4663-9b1e-e247227ffb7c
                        code: PLANNGK
                        name: 'ut aliquid'
                        period:
                          key: 1
                          value: MONTHLY
                        price_cents: 10227
                        currency:
                          key: 1
                          value: USD
                        features: '{"users":22,"storage":"1TB","support":"24\/7 Support"}'
                        created_at: '2025-09-28T14:50:02.000000Z'
                      -
                        id: 927014fc-514d-455c-92ec-775e65544de1
                        code: PLANTNX
                        name: 'ea sit'
                        period:
                          key: 2
                          value: YEARLY
                        price_cents: 48139
                        currency:
                          key: 3
                          value: AED
                        features: '{"users":36,"storage":"50GB","support":"Email only"}'
                        created_at: '2025-09-28T14:50:02.000000Z'
                      -
                        id: 71d0c6e1-21e5-4a02-92f2-50b0923b769b
                        code: PLANGLW
                        name: 'facilis voluptatem'
                        period:
                          key: 1
                          value: MONTHLY
                        price_cents: 11655
                        currency:
                          key: 1
                          value: USD
                        features: '{"users":44,"storage":"100GB","support":"Email only"}'
                        created_at: '2025-09-28T14:50:02.000000Z'
                      -
                        id: 342001d2-46b5-44cf-9a22-59b80859fdcc
                        code: PLANPDB
                        name: 'quo et'
                        period:
                          key: 2
                          value: YEARLY
                        price_cents: 20748
                        currency:
                          key: 3
                          value: AED
                        features: '{"users":31,"storage":"100GB","support":"Email only"}'
                        created_at: '2025-09-28T14:50:02.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: a2d91307-4c2c-463a-bd2d-db20dff5228a
                        code:
                          type: string
                          example: PLANCYI
                        name:
                          type: string
                          example: 'vel nam'
                        period:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: MONTHLY
                        price_cents:
                          type: integer
                          example: 46932
                        currency:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 2
                            value:
                              type: string
                              example: EUR
                        features:
                          type: string
                          example: '{"users":43,"storage":"10GB","support":"Priority support"}'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:02.000000Z'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add Plan'
      operationId: addPlan
      description: 'This endpoint lets you add plan'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-61a0-706a-994d-24e806325d53
                    code: TESTPLAN
                    name: 'Test Plan'
                    period:
                      key: 2
                      value: YEARLY
                    price_cents: 10000
                    currency:
                      key: 1
                      value: USD
                    features:
                      users: 5
                      storage: 10GB
                    created_at: '2025-09-28T14:50:03.000000Z'
                  message: 'The Plan added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-61a0-706a-994d-24e806325d53
                      code:
                        type: string
                        example: TESTPLAN
                      name:
                        type: string
                        example: 'Test Plan'
                      period:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: YEARLY
                      price_cents:
                        type: integer
                        example: 10000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      features:
                        type: object
                        properties:
                          users:
                            type: integer
                            example: 5
                          storage:
                            type: string
                            example: 10GB
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:03.000000Z'
                  message:
                    type: string
                    example: 'The Plan added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: string
                  description: 'Must not be greater than 50 characters.'
                  example: b
                  nullable: false
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                period:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                price_cents:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: false
                currency:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                features_json:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
              required:
                - code
                - name
                - price_cents
  '/api/v1/admin/plans/{id}':
    get:
      summary: 'Show specific Plan'
      operationId: showSpecificPlan
      description: 'This endpoint lets you show specific plan'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: a989c39a-b94e-4aeb-a43d-61256f12d964
                    code: PLANMJM
                    name: 'impedit debitis'
                    period:
                      key: 2
                      value: YEARLY
                    price_cents: 30866
                    currency:
                      key: 2
                      value: EUR
                    features: '{"users":39,"storage":"100GB","support":"Email only"}'
                    created_at: '2025-09-28T14:50:02.000000Z'
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: a989c39a-b94e-4aeb-a43d-61256f12d964
                      code:
                        type: string
                        example: PLANMJM
                      name:
                        type: string
                        example: 'impedit debitis'
                      period:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: YEARLY
                      price_cents:
                        type: integer
                        example: 30866
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: EUR
                      features:
                        type: string
                        example: '{"users":39,"storage":"100GB","support":"Email only"}'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:02.000000Z'
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific plan'
      operationId: updateSpecificPlan
      description: 'This endpoint lets you update specific plan'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 84cf4d86-5db5-41a9-8043-dec5deaad667
                    code: 'new TESTPLAN'
                    name: 'Updated Test Plan'
                    period:
                      key: 1
                      value: MONTHLY
                    price_cents: 20000
                    currency:
                      key: 1
                      value: USD
                    features:
                      users: 6
                      storage: 100GB
                    created_at: '2025-09-28T14:50:03.000000Z'
                  message: 'The Plan updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 84cf4d86-5db5-41a9-8043-dec5deaad667
                      code:
                        type: string
                        example: 'new TESTPLAN'
                      name:
                        type: string
                        example: 'Updated Test Plan'
                      period:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: MONTHLY
                      price_cents:
                        type: integer
                        example: 20000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      features:
                        type: object
                        properties:
                          users:
                            type: integer
                            example: 6
                          storage:
                            type: string
                            example: 100GB
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:03.000000Z'
                  message:
                    type: string
                    example: 'The Plan updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: string
                  description: 'Must not be greater than 50 characters.'
                  example: b
                  nullable: false
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                period:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                price_cents:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: false
                currency:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                features_json:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
    delete:
      summary: 'Delete specific Plan'
      operationId: deleteSpecificPlan
      description: 'This endpoint lets you delete specific plan'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Plan deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Plan deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the plan.'
        example: 019990ce-b949-7182-865d-87c340ed18d9
        required: true
        schema:
          type: string
  /api/v1/admin/subscriptions:
    get:
      summary: 'Show all subscriptions'
      operationId: showAllSubscriptions
      description: 'This endpoint lets you show all subscriptions'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Field to filter items by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[subscription_id]'
          description: 'Field to filter items by subscription id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by subscription id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[company_id]'
          description: 'Field to filter items by company id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by company id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[end_date]'
          description: 'Field to filter items by end_date.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by end_date.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[start_date]'
          description: 'Field to filter items by start_date.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by start_date.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by start_date,end_date.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by start_date,end_date.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: ae55310b-df14-40a4-ad81-5525ea0bab5c
                      company:
                        id: 5e716810-c084-4c9e-a8cb-cff47c01c857
                        name: 'Prof. Aleen Bergstrom DDS'
                      plan:
                        id: 4c2c7769-46c1-48a2-8855-a96e0d07e524
                        code: PLANLHE
                        name: 'vel cum'
                        period:
                          key: 1
                          value: MONTHLY
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-29T02:29:24.000000Z'
                      end_date: '2026-04-15T21:21:09.000000Z'
                      next_renewal: null
                    -
                      id: aba4fca3-83a4-486f-8679-d7dc6092c4e6
                      company:
                        id: 2372ff76-01d7-40bf-bb47-da4b46bc574b
                        name: 'Augustine Smith'
                      plan:
                        id: 9a3038c6-9ed7-4330-9df5-f9f5cb4ec0dc
                        code: PLANPRC
                        name: 'enim et'
                        period:
                          key: 2
                          value: YEARLY
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-28T19:23:32.000000Z'
                      end_date: '2026-01-13T12:57:58.000000Z'
                      next_renewal: null
                    -
                      id: a813f557-62e3-48c0-a453-62b1c530eb49
                      company:
                        id: 87122317-51be-404f-b4e9-7e9aaba4677a
                        name: 'Dr. Kaleb Grady'
                      plan:
                        id: 5e6acffa-bd56-4f47-9e0c-f1dccec5fca7
                        code: PLANDYA
                        name: 'aut magnam'
                        period:
                          key: 1
                          value: MONTHLY
                      status:
                        key: 2
                        value: ACTIVE
                      start_date: '2025-09-29T04:01:00.000000Z'
                      end_date: '2026-05-26T05:29:49.000000Z'
                      next_renewal: null
                    -
                      id: 8560e4ec-1112-489c-b8c9-dc53f8f1738d
                      company:
                        id: 51667a12-b6e9-4634-a70b-e7475c1666a0
                        name: 'Nicholaus Tremblay'
                      plan:
                        id: 8eb3e594-231e-4124-861f-ff4ef6c76a5d
                        code: PLANTIZ
                        name: 'qui nulla'
                        period:
                          key: 1
                          value: MONTHLY
                      status:
                        key: 1
                        value: TRIAL
                      start_date: '2025-09-28T23:46:26.000000Z'
                      end_date: '2026-03-25T05:36:42.000000Z'
                      next_renewal: null
                    -
                      id: 832f9ac6-2ec3-44a6-996b-86ebf8795d2f
                      company:
                        id: 186161f3-be1e-4e6f-a59a-5b6c0b9c6aee
                        name: 'Mrs. Lola Rodriguez Jr.'
                      plan:
                        id: a0e687fd-206c-46b1-ba23-f465c12fef33
                        code: PLANHPX
                        name: 'totam similique'
                        period:
                          key: 2
                          value: YEARLY
                      status:
                        key: 2
                        value: ACTIVE
                      start_date: '2025-09-28T22:26:23.000000Z'
                      end_date: '2026-02-14T18:01:58.000000Z'
                      next_renewal: null
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: ae55310b-df14-40a4-ad81-5525ea0bab5c
                        company:
                          id: 5e716810-c084-4c9e-a8cb-cff47c01c857
                          name: 'Prof. Aleen Bergstrom DDS'
                        plan:
                          id: 4c2c7769-46c1-48a2-8855-a96e0d07e524
                          code: PLANLHE
                          name: 'vel cum'
                          period:
                            key: 1
                            value: MONTHLY
                        status:
                          key: 3
                          value: PAST_DUE
                        start_date: '2025-09-29T02:29:24.000000Z'
                        end_date: '2026-04-15T21:21:09.000000Z'
                        next_renewal: null
                      -
                        id: aba4fca3-83a4-486f-8679-d7dc6092c4e6
                        company:
                          id: 2372ff76-01d7-40bf-bb47-da4b46bc574b
                          name: 'Augustine Smith'
                        plan:
                          id: 9a3038c6-9ed7-4330-9df5-f9f5cb4ec0dc
                          code: PLANPRC
                          name: 'enim et'
                          period:
                            key: 2
                            value: YEARLY
                        status:
                          key: 3
                          value: PAST_DUE
                        start_date: '2025-09-28T19:23:32.000000Z'
                        end_date: '2026-01-13T12:57:58.000000Z'
                        next_renewal: null
                      -
                        id: a813f557-62e3-48c0-a453-62b1c530eb49
                        company:
                          id: 87122317-51be-404f-b4e9-7e9aaba4677a
                          name: 'Dr. Kaleb Grady'
                        plan:
                          id: 5e6acffa-bd56-4f47-9e0c-f1dccec5fca7
                          code: PLANDYA
                          name: 'aut magnam'
                          period:
                            key: 1
                            value: MONTHLY
                        status:
                          key: 2
                          value: ACTIVE
                        start_date: '2025-09-29T04:01:00.000000Z'
                        end_date: '2026-05-26T05:29:49.000000Z'
                        next_renewal: null
                      -
                        id: 8560e4ec-1112-489c-b8c9-dc53f8f1738d
                        company:
                          id: 51667a12-b6e9-4634-a70b-e7475c1666a0
                          name: 'Nicholaus Tremblay'
                        plan:
                          id: 8eb3e594-231e-4124-861f-ff4ef6c76a5d
                          code: PLANTIZ
                          name: 'qui nulla'
                          period:
                            key: 1
                            value: MONTHLY
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-28T23:46:26.000000Z'
                        end_date: '2026-03-25T05:36:42.000000Z'
                        next_renewal: null
                      -
                        id: 832f9ac6-2ec3-44a6-996b-86ebf8795d2f
                        company:
                          id: 186161f3-be1e-4e6f-a59a-5b6c0b9c6aee
                          name: 'Mrs. Lola Rodriguez Jr.'
                        plan:
                          id: a0e687fd-206c-46b1-ba23-f465c12fef33
                          code: PLANHPX
                          name: 'totam similique'
                          period:
                            key: 2
                            value: YEARLY
                        status:
                          key: 2
                          value: ACTIVE
                        start_date: '2025-09-28T22:26:23.000000Z'
                        end_date: '2026-02-14T18:01:58.000000Z'
                        next_renewal: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: ae55310b-df14-40a4-ad81-5525ea0bab5c
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 5e716810-c084-4c9e-a8cb-cff47c01c857
                            name:
                              type: string
                              example: 'Prof. Aleen Bergstrom DDS'
                        plan:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 4c2c7769-46c1-48a2-8855-a96e0d07e524
                            code:
                              type: string
                              example: PLANLHE
                            name:
                              type: string
                              example: 'vel cum'
                            period:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 1
                                value:
                                  type: string
                                  example: MONTHLY
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 3
                            value:
                              type: string
                              example: PAST_DUE
                        start_date:
                          type: string
                          example: '2025-09-29T02:29:24.000000Z'
                        end_date:
                          type: string
                          example: '2026-04-15T21:21:09.000000Z'
                        next_renewal:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add subscription'
      operationId: addSubscription
      description: 'This endpoint lets you add subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-77eb-7033-8e2a-001e4be35fdc
                    company:
                      id: ab5d6a73-16e9-4f39-881e-8ed71b83926e
                      name: 'Nyasia Corwin'
                    plan:
                      id: 5ff4f91d-6121-4341-a8ed-24dfdaafe5df
                      code: PLANCZP
                      name: 'et vel'
                      period:
                        key: 1
                        value: MONTHLY
                    status:
                      key: 1
                      value: TRIAL
                    start_date: '2025-09-28T00:00:00.000000Z'
                    end_date: '2026-09-28T00:00:00.000000Z'
                    next_renewal: null
                  message: 'The Subscription added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-77eb-7033-8e2a-001e4be35fdc
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: ab5d6a73-16e9-4f39-881e-8ed71b83926e
                          name:
                            type: string
                            example: 'Nyasia Corwin'
                      plan:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 5ff4f91d-6121-4341-a8ed-24dfdaafe5df
                          code:
                            type: string
                            example: PLANCZP
                          name:
                            type: string
                            example: 'et vel'
                          period:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: MONTHLY
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: TRIAL
                      start_date:
                        type: string
                        example: '2025-09-28T00:00:00.000000Z'
                      end_date:
                        type: string
                        example: '2026-09-28T00:00:00.000000Z'
                      next_renewal:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Subscription added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the companies table.'
                  example: architecto
                  nullable: false
                plan_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the plans table.'
                  example: architecto
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>today</code>.'
                  example: '2051-10-22'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>start_date</code>.'
                  example: '2051-10-22'
                  nullable: true
                next_renewal:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2051-10-22'
                  nullable: false
              required:
                - company_id
                - plan_id
                - start_date
  '/api/v1/admin/subscriptions/{id}':
    get:
      summary: 'Show specific subscription'
      operationId: showSpecificSubscription
      description: 'This endpoint lets you show specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: e7d52471-12b0-4c26-968b-37780b2e7a31
                    company:
                      id: 8e8a1b2c-aeca-4e43-bb89-d9cd89eb71f0
                      name: 'Astrid Effertz'
                    plan:
                      id: e148ca48-e734-4c98-bef4-b18a99509d79
                      code: PLANADX
                      name: 'sint consequuntur'
                      period:
                        key: 2
                        value: YEARLY
                    status:
                      key: 1
                      value: TRIAL
                    start_date: '2025-09-29T14:40:28.000000Z'
                    end_date: '2026-05-04T22:59:58.000000Z'
                    next_renewal: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: e7d52471-12b0-4c26-968b-37780b2e7a31
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 8e8a1b2c-aeca-4e43-bb89-d9cd89eb71f0
                          name:
                            type: string
                            example: 'Astrid Effertz'
                      plan:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e148ca48-e734-4c98-bef4-b18a99509d79
                          code:
                            type: string
                            example: PLANADX
                          name:
                            type: string
                            example: 'sint consequuntur'
                          period:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 2
                              value:
                                type: string
                                example: YEARLY
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: TRIAL
                      start_date:
                        type: string
                        example: '2025-09-29T14:40:28.000000Z'
                      end_date:
                        type: string
                        example: '2026-05-04T22:59:58.000000Z'
                      next_renewal:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific subscription'
      operationId: updateSpecificSubscription
      description: 'This endpoint lets you update specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: d0e4396d-a229-4b59-be11-28cc2f89b812
                    company:
                      id: d1f6dd94-7872-4e77-8e7b-0778960d23a2
                      name: 'Dr. Tina Heaney'
                    plan:
                      id: 62921a35-bbf2-497b-bb9d-e439efd0e4b9
                      code: PLANTWX
                      name: 'et iste'
                      period:
                        key: 1
                        value: MONTHLY
                    status:
                      key: 2
                      value: ACTIVE
                    start_date: '2025-09-28T14:50:08.000000Z'
                    end_date: '2026-09-28T14:50:08.000000Z'
                    next_renewal: null
                  message: 'The Subscription updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: d0e4396d-a229-4b59-be11-28cc2f89b812
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d1f6dd94-7872-4e77-8e7b-0778960d23a2
                          name:
                            type: string
                            example: 'Dr. Tina Heaney'
                      plan:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 62921a35-bbf2-497b-bb9d-e439efd0e4b9
                          code:
                            type: string
                            example: PLANTWX
                          name:
                            type: string
                            example: 'et iste'
                          period:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: MONTHLY
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: ACTIVE
                      start_date:
                        type: string
                        example: '2025-09-28T14:50:08.000000Z'
                      end_date:
                        type: string
                        example: '2026-09-28T14:50:08.000000Z'
                      next_renewal:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Subscription updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                company_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the companies table.'
                  example: null
                  nullable: false
                plan_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the plans table.'
                  example: null
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>today</code>.'
                  example: '2051-10-22'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>start_date</code>.'
                  example: '2051-10-22'
                  nullable: false
                status:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
    delete:
      summary: 'Delete specific subscription'
      operationId: deleteSpecificSubscription
      description: 'This endpoint lets you delete specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Subscription deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Subscription deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the subscription.'
        example: 019990ce-b96b-73bd-aee2-b5ca92ce57d0
        required: true
        schema:
          type: string
  '/api/v1/admin/subscriptions/{subscription_id}/invoices':
    get:
      summary: 'Show all invoices in a specific subscription'
      operationId: showAllInvoicesInASpecificSubscription
      description: 'This endpoint lets you show all invoices in a specific subscription.'
      parameters:
        -
          in: query
          name: page
          description: 'Page number. Defaults to 1.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Page number. Defaults to 1.'
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: 'Items per page. Defaults to 15.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Items per page. Defaults to 15.'
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Filter invoices by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter invoices by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[subscription_id]'
          description: 'Filter invoices by subscription id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter invoices by subscription id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[company_id]'
          description: 'Filter invoices by company id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter invoices by company id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[period_start]'
          description: 'date Filter invoices by start date.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'date Filter invoices by start date.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[period_end]'
          description: 'date Filter invoices by end date.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'date Filter invoices by end date.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[amount_cents]'
          description: 'Filter invoices by amount in cents.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Filter invoices by amount in cents.'
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Filter invoices by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter invoices by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Search by company name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Search by company name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Sort by period_start, period_end, amount_cents, or status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Sort by period_start, period_end, amount_cents, or status.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-5206-73e0-972f-de783b16e394
                      period_start: '2025-09-28T14:49:58.000000Z'
                      period_end: '2025-10-28T14:49:58.000000Z'
                      amount_cents: 5062
                      currency:
                        key: 1
                        value: USD
                      status:
                        key: 1
                        value: DRAFT
                      issued_at: '2025-09-28T14:49:58.000000Z'
                      due_at: '2025-10-05T14:49:58.000000Z'
                      company:
                        id: 50243424-56a3-4ac7-a6b9-015c7ff3bd25
                        name: 'Howell Mohr DVM'
                      subscription:
                        id: e88d8667-1c72-4174-9613-9145e3698d0f
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-29T03:56:54.000000Z'
                        end_date: '2026-06-19T14:51:22.000000Z'
                      payments: null
                    -
                      id: 019990cd-5203-7067-bb9d-14ba23a895a2
                      period_start: '2025-09-28T14:49:58.000000Z'
                      period_end: '2025-10-28T14:49:58.000000Z'
                      amount_cents: 75864
                      currency:
                        key: 1
                        value: USD
                      status:
                        key: 1
                        value: DRAFT
                      issued_at: '2025-09-28T14:49:58.000000Z'
                      due_at: '2025-10-05T14:49:58.000000Z'
                      company:
                        id: c191f986-e89d-4e01-95b3-0374233cc76b
                        name: 'Dr. Gisselle Berge'
                      subscription:
                        id: e88d8667-1c72-4174-9613-9145e3698d0f
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-29T03:56:54.000000Z'
                        end_date: '2026-06-19T14:51:22.000000Z'
                      payments: null
                    -
                      id: 019990cd-5200-7156-9337-f321d36f17b4
                      period_start: '2025-09-28T14:49:58.000000Z'
                      period_end: '2025-10-28T14:49:58.000000Z'
                      amount_cents: 66811
                      currency:
                        key: 1
                        value: USD
                      status:
                        key: 1
                        value: DRAFT
                      issued_at: '2025-09-28T14:49:58.000000Z'
                      due_at: '2025-10-05T14:49:58.000000Z'
                      company:
                        id: 54b1be9d-e45a-4bf5-8a2d-239c50873571
                        name: 'Betty Kautzer'
                      subscription:
                        id: e88d8667-1c72-4174-9613-9145e3698d0f
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-29T03:56:54.000000Z'
                        end_date: '2026-06-19T14:51:22.000000Z'
                      payments: null
                    -
                      id: 019990cd-51fc-73f6-a262-a7604aefffd2
                      period_start: '2025-09-28T14:49:58.000000Z'
                      period_end: '2025-10-28T14:49:58.000000Z'
                      amount_cents: 39482
                      currency:
                        key: 1
                        value: USD
                      status:
                        key: 1
                        value: DRAFT
                      issued_at: '2025-09-28T14:49:58.000000Z'
                      due_at: '2025-10-05T14:49:58.000000Z'
                      company:
                        id: 940682d1-e2a6-4faf-bc25-7bc233966b92
                        name: 'Sienna Thompson'
                      subscription:
                        id: e88d8667-1c72-4174-9613-9145e3698d0f
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-29T03:56:54.000000Z'
                        end_date: '2026-06-19T14:51:22.000000Z'
                      payments: null
                    -
                      id: 019990cd-51f8-7228-b777-42838e445b96
                      period_start: '2025-09-28T14:49:58.000000Z'
                      period_end: '2025-10-28T14:49:58.000000Z'
                      amount_cents: 93337
                      currency:
                        key: 1
                        value: USD
                      status:
                        key: 1
                        value: DRAFT
                      issued_at: '2025-09-28T14:49:58.000000Z'
                      due_at: '2025-10-05T14:49:58.000000Z'
                      company:
                        id: 0e5b140f-a1c3-48c1-aec6-552217825ec1
                        name: 'Miss Talia Rempel II'
                      subscription:
                        id: e88d8667-1c72-4174-9613-9145e3698d0f
                        status:
                          key: 1
                          value: TRIAL
                        start_date: '2025-09-29T03:56:54.000000Z'
                        end_date: '2026-06-19T14:51:22.000000Z'
                      payments: null
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-5206-73e0-972f-de783b16e394
                        period_start: '2025-09-28T14:49:58.000000Z'
                        period_end: '2025-10-28T14:49:58.000000Z'
                        amount_cents: 5062
                        currency:
                          key: 1
                          value: USD
                        status:
                          key: 1
                          value: DRAFT
                        issued_at: '2025-09-28T14:49:58.000000Z'
                        due_at: '2025-10-05T14:49:58.000000Z'
                        company:
                          id: 50243424-56a3-4ac7-a6b9-015c7ff3bd25
                          name: 'Howell Mohr DVM'
                        subscription:
                          id: e88d8667-1c72-4174-9613-9145e3698d0f
                          status:
                            key: 1
                            value: TRIAL
                          start_date: '2025-09-29T03:56:54.000000Z'
                          end_date: '2026-06-19T14:51:22.000000Z'
                        payments: null
                      -
                        id: 019990cd-5203-7067-bb9d-14ba23a895a2
                        period_start: '2025-09-28T14:49:58.000000Z'
                        period_end: '2025-10-28T14:49:58.000000Z'
                        amount_cents: 75864
                        currency:
                          key: 1
                          value: USD
                        status:
                          key: 1
                          value: DRAFT
                        issued_at: '2025-09-28T14:49:58.000000Z'
                        due_at: '2025-10-05T14:49:58.000000Z'
                        company:
                          id: c191f986-e89d-4e01-95b3-0374233cc76b
                          name: 'Dr. Gisselle Berge'
                        subscription:
                          id: e88d8667-1c72-4174-9613-9145e3698d0f
                          status:
                            key: 1
                            value: TRIAL
                          start_date: '2025-09-29T03:56:54.000000Z'
                          end_date: '2026-06-19T14:51:22.000000Z'
                        payments: null
                      -
                        id: 019990cd-5200-7156-9337-f321d36f17b4
                        period_start: '2025-09-28T14:49:58.000000Z'
                        period_end: '2025-10-28T14:49:58.000000Z'
                        amount_cents: 66811
                        currency:
                          key: 1
                          value: USD
                        status:
                          key: 1
                          value: DRAFT
                        issued_at: '2025-09-28T14:49:58.000000Z'
                        due_at: '2025-10-05T14:49:58.000000Z'
                        company:
                          id: 54b1be9d-e45a-4bf5-8a2d-239c50873571
                          name: 'Betty Kautzer'
                        subscription:
                          id: e88d8667-1c72-4174-9613-9145e3698d0f
                          status:
                            key: 1
                            value: TRIAL
                          start_date: '2025-09-29T03:56:54.000000Z'
                          end_date: '2026-06-19T14:51:22.000000Z'
                        payments: null
                      -
                        id: 019990cd-51fc-73f6-a262-a7604aefffd2
                        period_start: '2025-09-28T14:49:58.000000Z'
                        period_end: '2025-10-28T14:49:58.000000Z'
                        amount_cents: 39482
                        currency:
                          key: 1
                          value: USD
                        status:
                          key: 1
                          value: DRAFT
                        issued_at: '2025-09-28T14:49:58.000000Z'
                        due_at: '2025-10-05T14:49:58.000000Z'
                        company:
                          id: 940682d1-e2a6-4faf-bc25-7bc233966b92
                          name: 'Sienna Thompson'
                        subscription:
                          id: e88d8667-1c72-4174-9613-9145e3698d0f
                          status:
                            key: 1
                            value: TRIAL
                          start_date: '2025-09-29T03:56:54.000000Z'
                          end_date: '2026-06-19T14:51:22.000000Z'
                        payments: null
                      -
                        id: 019990cd-51f8-7228-b777-42838e445b96
                        period_start: '2025-09-28T14:49:58.000000Z'
                        period_end: '2025-10-28T14:49:58.000000Z'
                        amount_cents: 93337
                        currency:
                          key: 1
                          value: USD
                        status:
                          key: 1
                          value: DRAFT
                        issued_at: '2025-09-28T14:49:58.000000Z'
                        due_at: '2025-10-05T14:49:58.000000Z'
                        company:
                          id: 0e5b140f-a1c3-48c1-aec6-552217825ec1
                          name: 'Miss Talia Rempel II'
                        subscription:
                          id: e88d8667-1c72-4174-9613-9145e3698d0f
                          status:
                            key: 1
                            value: TRIAL
                          start_date: '2025-09-29T03:56:54.000000Z'
                          end_date: '2026-06-19T14:51:22.000000Z'
                        payments: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-5206-73e0-972f-de783b16e394
                        period_start:
                          type: string
                          example: '2025-09-28T14:49:58.000000Z'
                        period_end:
                          type: string
                          example: '2025-10-28T14:49:58.000000Z'
                        amount_cents:
                          type: integer
                          example: 5062
                        currency:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: USD
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: DRAFT
                        issued_at:
                          type: string
                          example: '2025-09-28T14:49:58.000000Z'
                        due_at:
                          type: string
                          example: '2025-10-05T14:49:58.000000Z'
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 50243424-56a3-4ac7-a6b9-015c7ff3bd25
                            name:
                              type: string
                              example: 'Howell Mohr DVM'
                        subscription:
                          type: object
                          properties:
                            id:
                              type: string
                              example: e88d8667-1c72-4174-9613-9145e3698d0f
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 1
                                value:
                                  type: string
                                  example: TRIAL
                            start_date:
                              type: string
                              example: '2025-09-29T03:56:54.000000Z'
                            end_date:
                              type: string
                              example: '2026-06-19T14:51:22.000000Z'
                        payments:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Add invoice in specific subscription'
      operationId: addInvoiceInSpecificSubscription
      description: 'This endpoint lets you add invoice in specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-531d-7092-a5dd-ec1fe7002bdd
                    period_start: '2025-09-28T00:00:00.000000Z'
                    period_end: '2025-10-28T00:00:00.000000Z'
                    amount_cents: 15000
                    currency:
                      key: 1
                      value: USD
                    status:
                      key: 1
                      value: DRAFT
                    issued_at: '2025-09-28T14:49:59.000000Z'
                    due_at: null
                    company:
                      id: f090d978-dbab-4d2b-abb2-81e680224b4a
                      name: 'Toby Rohan'
                    subscription:
                      id: 8631c16d-7fc2-4260-a525-fde07200e1ed
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-28T23:15:22.000000Z'
                      end_date: '2026-08-02T10:13:44.000000Z'
                    payments: null
                  message: 'The Invoice added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-531d-7092-a5dd-ec1fe7002bdd
                      period_start:
                        type: string
                        example: '2025-09-28T00:00:00.000000Z'
                      period_end:
                        type: string
                        example: '2025-10-28T00:00:00.000000Z'
                      amount_cents:
                        type: integer
                        example: 15000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: DRAFT
                      issued_at:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      due_at:
                        type: string
                        example: null
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: f090d978-dbab-4d2b-abb2-81e680224b4a
                          name:
                            type: string
                            example: 'Toby Rohan'
                      subscription:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 8631c16d-7fc2-4260-a525-fde07200e1ed
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 3
                              value:
                                type: string
                                example: PAST_DUE
                          start_date:
                            type: string
                            example: '2025-09-28T23:15:22.000000Z'
                          end_date:
                            type: string
                            example: '2026-08-02T10:13:44.000000Z'
                      payments:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Invoice added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subscription_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the subscriptions table.'
                  example: architecto
                  nullable: false
                company_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the companies table.'
                  example: architecto
                  nullable: false
                period_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-28T14:51:32'
                  nullable: false
                period_end:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>period_start</code>.'
                  example: '2051-10-22'
                  nullable: false
                amount_cents:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: false
                currency:
                  type: string
                  description: ''
                  example: architecto
                  nullable: false
                issued_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-28T14:51:32'
                  nullable: true
                due_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>period_start</code>.'
                  example: '2051-10-22'
                  nullable: true
              required:
                - subscription_id
                - company_id
                - period_start
                - period_end
                - amount_cents
                - currency
    parameters:
      -
        in: path
        name: subscription_id
        description: 'The ID of the subscription.'
        example: 019990ce-b96b-73bd-aee2-b5ca92ce57d0
        required: true
        schema:
          type: string
  '/api/v1/admin/subscriptions/{subscription_id}/invoices/{id}':
    get:
      summary: 'Show specific invoice'
      operationId: showSpecificInvoice
      description: 'This endpoint lets you show specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-5211-70e6-b507-84560be06d2d
                    period_start: '2025-09-28T14:49:59.000000Z'
                    period_end: '2025-10-28T14:49:59.000000Z'
                    amount_cents: 75051
                    currency:
                      key: 1
                      value: USD
                    status:
                      key: 1
                      value: DRAFT
                    issued_at: '2025-09-28T14:49:59.000000Z'
                    due_at: '2025-10-05T14:49:59.000000Z'
                    company:
                      id: 3296de68-dd50-46f7-a588-ee997aab4b1c
                      name: 'Shanon Bauch DDS'
                    subscription:
                      id: dc51ab44-8653-440a-a161-4755f035940e
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-28T23:31:33.000000Z'
                      end_date: '2025-10-31T02:26:36.000000Z'
                    payments: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-5211-70e6-b507-84560be06d2d
                      period_start:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      period_end:
                        type: string
                        example: '2025-10-28T14:49:59.000000Z'
                      amount_cents:
                        type: integer
                        example: 75051
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: DRAFT
                      issued_at:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      due_at:
                        type: string
                        example: '2025-10-05T14:49:59.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 3296de68-dd50-46f7-a588-ee997aab4b1c
                          name:
                            type: string
                            example: 'Shanon Bauch DDS'
                      subscription:
                        type: object
                        properties:
                          id:
                            type: string
                            example: dc51ab44-8653-440a-a161-4755f035940e
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 3
                              value:
                                type: string
                                example: PAST_DUE
                          start_date:
                            type: string
                            example: '2025-09-28T23:31:33.000000Z'
                          end_date:
                            type: string
                            example: '2025-10-31T02:26:36.000000Z'
                      payments:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific invoice in specific subscription'
      operationId: updateSpecificInvoiceInSpecificSubscription
      description: 'This endpoint lets you update invoice in specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-538e-7378-8949-cd550890f971
                    period_start: '2025-09-28T14:49:59.000000Z'
                    period_end: '2025-10-28T14:49:59.000000Z'
                    amount_cents: 10000
                    currency:
                      key: 1
                      value: USD
                    status:
                      key: 3
                      value: PAID
                    issued_at: '2025-09-28T14:49:59.000000Z'
                    due_at: '2025-10-05T14:49:59.000000Z'
                    company:
                      id: 33bd133a-58d7-449a-ae4e-2bc6086afe99
                      name: 'Terrence Pagac I'
                    subscription:
                      id: ed9773d3-b26e-46f9-bb84-68b8b68637ff
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-28T21:46:12.000000Z'
                      end_date: '2026-09-06T19:09:07.000000Z'
                    payments: null
                  message: 'The Invoice updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-538e-7378-8949-cd550890f971
                      period_start:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      period_end:
                        type: string
                        example: '2025-10-28T14:49:59.000000Z'
                      amount_cents:
                        type: integer
                        example: 10000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 3
                          value:
                            type: string
                            example: PAID
                      issued_at:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      due_at:
                        type: string
                        example: '2025-10-05T14:49:59.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 33bd133a-58d7-449a-ae4e-2bc6086afe99
                          name:
                            type: string
                            example: 'Terrence Pagac I'
                      subscription:
                        type: object
                        properties:
                          id:
                            type: string
                            example: ed9773d3-b26e-46f9-bb84-68b8b68637ff
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 3
                              value:
                                type: string
                                example: PAST_DUE
                          start_date:
                            type: string
                            example: '2025-09-28T21:46:12.000000Z'
                          end_date:
                            type: string
                            example: '2026-09-06T19:09:07.000000Z'
                      payments:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Invoice updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                period_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-28T14:51:32'
                  nullable: false
                period_end:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>period_start</code>.'
                  example: '2051-10-22'
                  nullable: false
                amount_cents:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: false
                currency:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                status:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                issued_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-28T14:51:32'
                  nullable: true
                due_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>period_start</code>.'
                  example: '2051-10-22'
                  nullable: true
    delete:
      summary: 'Delete specific invoice in specific subscription'
      operationId: deleteSpecificInvoiceInSpecificSubscription
      description: 'This endpoint lets you delete specific invoice in specific subscription'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Invoice deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Invoice deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: subscription_id
        description: 'The ID of the subscription.'
        example: 019990ce-b96b-73bd-aee2-b5ca92ce57d0
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: 019990ce-b98b-71cb-b6c2-070b5e311bf5
        required: true
        schema:
          type: string
  '/api/v1/admin/subscriptions/{subscription_id}/invoices/{invoice_id}/invoice_payments':
    get:
      summary: 'Show all payments for a specific invoice'
      operationId: showAllPaymentsForASpecificInvoice
      description: 'This endpoint lets you list all payments for a specific invoice.'
      parameters:
        -
          in: query
          name: page
          description: 'Page number. Defaults to 1.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Page number. Defaults to 1.'
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: 'Items per page. Defaults to 15.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Items per page. Defaults to 15.'
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Filter payments by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter payments by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[invoice_id]'
          description: 'Filter payments by invoice id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter payments by invoice id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[company_id]'
          description: 'Filter payments by company id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter payments by company id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[amount_cents]'
          description: 'Filter payments by amount in cents.'
          example: 16
          required: false
          schema:
            type: integer
            description: 'Filter payments by amount in cents.'
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[currency]'
          description: 'Filter payments by currency.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter payments by currency.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[method]'
          description: 'Filter payments by payment method.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Filter payments by payment method.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[paid_at]'
          description: 'date Filter payments by paid_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'date Filter payments by paid_at.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Search by company name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Search by company name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Sort by amount_cents, currency, method, or paid_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Sort by amount_cents, currency, method, or paid_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-5751-73e9-9b61-be3ba2119808
                      invoice:
                        id: 019990cd-549e-7156-8ad8-792d3e66a175
                        period_start: '2025-09-28T14:49:59.000000Z'
                        period_end: '2025-10-28T14:49:59.000000Z'
                        amount_cents: 4899
                        status:
                          key: 1
                          value: DRAFT
                      company:
                        id: c0f3b926-bdd2-4e5f-b079-f51a140804bd
                        name: 'Dr. Gregg Batz I'
                      amount_cents: 76341
                      currency:
                        key: 1
                        value: USD
                      method:
                        key: 1
                        value: CASH
                      paid_at: '2025-09-28T14:50:00.000000Z'
                      reference: eligendi
                      created_at: '2025-09-28T14:50:00.000000Z'
                    -
                      id: 019990cd-574c-726a-a255-c4e4efaf1357
                      invoice:
                        id: 019990cd-549e-7156-8ad8-792d3e66a175
                        period_start: '2025-09-28T14:49:59.000000Z'
                        period_end: '2025-10-28T14:49:59.000000Z'
                        amount_cents: 4899
                        status:
                          key: 1
                          value: DRAFT
                      company:
                        id: a71306c0-6a43-482b-bfe5-5b580a6eb1c7
                        name: 'Cathryn Bergnaum DDS'
                      amount_cents: 1112
                      currency:
                        key: 1
                        value: USD
                      method:
                        key: 1
                        value: CASH
                      paid_at: '2025-09-28T14:50:00.000000Z'
                      reference: iste
                      created_at: '2025-09-28T14:50:00.000000Z'
                    -
                      id: 019990cd-5748-7387-a09b-1e528057d559
                      invoice:
                        id: 019990cd-549e-7156-8ad8-792d3e66a175
                        period_start: '2025-09-28T14:49:59.000000Z'
                        period_end: '2025-10-28T14:49:59.000000Z'
                        amount_cents: 4899
                        status:
                          key: 1
                          value: DRAFT
                      company:
                        id: dc46bca3-7a11-4a48-bb9e-e26e99813a12
                        name: 'Antone Carter'
                      amount_cents: 24906
                      currency:
                        key: 1
                        value: USD
                      method:
                        key: 1
                        value: CASH
                      paid_at: '2025-09-28T14:50:00.000000Z'
                      reference: dolores
                      created_at: '2025-09-28T14:50:00.000000Z'
                    -
                      id: 019990cd-5744-72f5-82d5-bd0600b2c8d8
                      invoice:
                        id: 019990cd-549e-7156-8ad8-792d3e66a175
                        period_start: '2025-09-28T14:49:59.000000Z'
                        period_end: '2025-10-28T14:49:59.000000Z'
                        amount_cents: 4899
                        status:
                          key: 1
                          value: DRAFT
                      company:
                        id: 22130796-d89e-45f6-8fa1-83494465a933
                        name: 'Prof. Baron Schmidt I'
                      amount_cents: 98474
                      currency:
                        key: 1
                        value: USD
                      method:
                        key: 1
                        value: CASH
                      paid_at: '2025-09-28T14:50:00.000000Z'
                      reference: et
                      created_at: '2025-09-28T14:50:00.000000Z'
                    -
                      id: 019990cd-5740-705d-93de-4213348063b6
                      invoice:
                        id: 019990cd-549e-7156-8ad8-792d3e66a175
                        period_start: '2025-09-28T14:49:59.000000Z'
                        period_end: '2025-10-28T14:49:59.000000Z'
                        amount_cents: 4899
                        status:
                          key: 1
                          value: DRAFT
                      company:
                        id: 10494ab5-c5fe-4b54-b04f-cd41494171e0
                        name: 'Carson Stark'
                      amount_cents: 16146
                      currency:
                        key: 1
                        value: USD
                      method:
                        key: 1
                        value: CASH
                      paid_at: '2025-09-28T14:50:00.000000Z'
                      reference: quis
                      created_at: '2025-09-28T14:50:00.000000Z'
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-5751-73e9-9b61-be3ba2119808
                        invoice:
                          id: 019990cd-549e-7156-8ad8-792d3e66a175
                          period_start: '2025-09-28T14:49:59.000000Z'
                          period_end: '2025-10-28T14:49:59.000000Z'
                          amount_cents: 4899
                          status:
                            key: 1
                            value: DRAFT
                        company:
                          id: c0f3b926-bdd2-4e5f-b079-f51a140804bd
                          name: 'Dr. Gregg Batz I'
                        amount_cents: 76341
                        currency:
                          key: 1
                          value: USD
                        method:
                          key: 1
                          value: CASH
                        paid_at: '2025-09-28T14:50:00.000000Z'
                        reference: eligendi
                        created_at: '2025-09-28T14:50:00.000000Z'
                      -
                        id: 019990cd-574c-726a-a255-c4e4efaf1357
                        invoice:
                          id: 019990cd-549e-7156-8ad8-792d3e66a175
                          period_start: '2025-09-28T14:49:59.000000Z'
                          period_end: '2025-10-28T14:49:59.000000Z'
                          amount_cents: 4899
                          status:
                            key: 1
                            value: DRAFT
                        company:
                          id: a71306c0-6a43-482b-bfe5-5b580a6eb1c7
                          name: 'Cathryn Bergnaum DDS'
                        amount_cents: 1112
                        currency:
                          key: 1
                          value: USD
                        method:
                          key: 1
                          value: CASH
                        paid_at: '2025-09-28T14:50:00.000000Z'
                        reference: iste
                        created_at: '2025-09-28T14:50:00.000000Z'
                      -
                        id: 019990cd-5748-7387-a09b-1e528057d559
                        invoice:
                          id: 019990cd-549e-7156-8ad8-792d3e66a175
                          period_start: '2025-09-28T14:49:59.000000Z'
                          period_end: '2025-10-28T14:49:59.000000Z'
                          amount_cents: 4899
                          status:
                            key: 1
                            value: DRAFT
                        company:
                          id: dc46bca3-7a11-4a48-bb9e-e26e99813a12
                          name: 'Antone Carter'
                        amount_cents: 24906
                        currency:
                          key: 1
                          value: USD
                        method:
                          key: 1
                          value: CASH
                        paid_at: '2025-09-28T14:50:00.000000Z'
                        reference: dolores
                        created_at: '2025-09-28T14:50:00.000000Z'
                      -
                        id: 019990cd-5744-72f5-82d5-bd0600b2c8d8
                        invoice:
                          id: 019990cd-549e-7156-8ad8-792d3e66a175
                          period_start: '2025-09-28T14:49:59.000000Z'
                          period_end: '2025-10-28T14:49:59.000000Z'
                          amount_cents: 4899
                          status:
                            key: 1
                            value: DRAFT
                        company:
                          id: 22130796-d89e-45f6-8fa1-83494465a933
                          name: 'Prof. Baron Schmidt I'
                        amount_cents: 98474
                        currency:
                          key: 1
                          value: USD
                        method:
                          key: 1
                          value: CASH
                        paid_at: '2025-09-28T14:50:00.000000Z'
                        reference: et
                        created_at: '2025-09-28T14:50:00.000000Z'
                      -
                        id: 019990cd-5740-705d-93de-4213348063b6
                        invoice:
                          id: 019990cd-549e-7156-8ad8-792d3e66a175
                          period_start: '2025-09-28T14:49:59.000000Z'
                          period_end: '2025-10-28T14:49:59.000000Z'
                          amount_cents: 4899
                          status:
                            key: 1
                            value: DRAFT
                        company:
                          id: 10494ab5-c5fe-4b54-b04f-cd41494171e0
                          name: 'Carson Stark'
                        amount_cents: 16146
                        currency:
                          key: 1
                          value: USD
                        method:
                          key: 1
                          value: CASH
                        paid_at: '2025-09-28T14:50:00.000000Z'
                        reference: quis
                        created_at: '2025-09-28T14:50:00.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-5751-73e9-9b61-be3ba2119808
                        invoice:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 019990cd-549e-7156-8ad8-792d3e66a175
                            period_start:
                              type: string
                              example: '2025-09-28T14:49:59.000000Z'
                            period_end:
                              type: string
                              example: '2025-10-28T14:49:59.000000Z'
                            amount_cents:
                              type: integer
                              example: 4899
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 1
                                value:
                                  type: string
                                  example: DRAFT
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: c0f3b926-bdd2-4e5f-b079-f51a140804bd
                            name:
                              type: string
                              example: 'Dr. Gregg Batz I'
                        amount_cents:
                          type: integer
                          example: 76341
                        currency:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: USD
                        method:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: CASH
                        paid_at:
                          type: string
                          example: '2025-09-28T14:50:00.000000Z'
                        reference:
                          type: string
                          example: eligendi
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:00.000000Z'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    post:
      summary: 'Store a new payment for an invoice'
      operationId: storeANewPaymentForAnInvoice
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-57bb-72fb-b0ec-fc23a3806bde
                    invoice:
                      id: 019990cd-5764-7130-aa98-b8df49f404fd
                      period_start: '2025-09-28T14:50:00.000000Z'
                      period_end: '2025-10-28T14:50:00.000000Z'
                      amount_cents: 35956
                      status:
                        key: 1
                        value: DRAFT
                    company:
                      id: bdd8d38e-a569-4a25-9add-26ce97a3f407
                      name: 'Prof. Rusty Sauer'
                    amount_cents: 20000
                    currency:
                      key: 1
                      value: USD
                    method:
                      key: 2
                      value: BANK
                    paid_at: '2025-09-28T14:50:00.000000Z'
                    reference: TXN-68d94b18678f0
                    created_at: '2025-09-28T14:50:00.000000Z'
                  message: 'The Invoice Payment added successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-57bb-72fb-b0ec-fc23a3806bde
                      invoice:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 019990cd-5764-7130-aa98-b8df49f404fd
                          period_start:
                            type: string
                            example: '2025-09-28T14:50:00.000000Z'
                          period_end:
                            type: string
                            example: '2025-10-28T14:50:00.000000Z'
                          amount_cents:
                            type: integer
                            example: 35956
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: DRAFT
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: bdd8d38e-a569-4a25-9add-26ce97a3f407
                          name:
                            type: string
                            example: 'Prof. Rusty Sauer'
                      amount_cents:
                        type: integer
                        example: 20000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      method:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: BANK
                      paid_at:
                        type: string
                        example: '2025-09-28T14:50:00.000000Z'
                      reference:
                        type: string
                        example: TXN-68d94b18678f0
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:00.000000Z'
                  message:
                    type: string
                    example: 'The Invoice Payment added successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount_cents:
                  type: integer
                  description: 'Payment amount in cents.'
                  example: 16
                  nullable: false
                currency:
                  type: string
                  description: 'Currency code.'
                  example: architecto
                  nullable: false
                method:
                  type: string
                  description: 'Payment method (cash, card, bank, transfer) required.'
                  example: architecto
                  nullable: false
                paid_at:
                  type: datetime
                  description: 'Payment date.'
                  example: architecto
                  nullable: true
                reference:
                  type: string
                  description: 'Payment reference.'
                  example: architecto
                  nullable: true
              required:
                - amount_cents
    parameters:
      -
        in: path
        name: subscription_id
        description: 'The ID of the subscription.'
        example: 019990ce-b96b-73bd-aee2-b5ca92ce57d0
        required: true
        schema:
          type: string
      -
        in: path
        name: invoice_id
        description: 'The ID of the invoice.'
        example: 019990ce-b98b-71cb-b6c2-070b5e311bf5
        required: true
        schema:
          type: string
  '/api/v1/admin/subscriptions/{subscription_id}/invoices/{invoice_id}/invoice_payments/{id}':
    get:
      summary: 'Show specific payment for a specific invoice'
      operationId: showSpecificPaymentForASpecificInvoice
      description: 'This endpoint lets you show payment for a specific invoice'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-5211-70e6-b507-84560be06d2d
                    period_start: '2025-09-28T14:49:59.000000Z'
                    period_end: '2025-10-28T14:49:59.000000Z'
                    amount_cents: 75051
                    currency:
                      key: 1
                      value: USD
                    status:
                      key: 1
                      value: DRAFT
                    issued_at: '2025-09-28T14:49:59.000000Z'
                    due_at: '2025-10-05T14:49:59.000000Z'
                    company:
                      id: 3296de68-dd50-46f7-a588-ee997aab4b1c
                      name: 'Shanon Bauch DDS'
                    subscription:
                      id: dc51ab44-8653-440a-a161-4755f035940e
                      status:
                        key: 3
                        value: PAST_DUE
                      start_date: '2025-09-28T23:31:33.000000Z'
                      end_date: '2025-10-31T02:26:36.000000Z'
                    payments: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-5211-70e6-b507-84560be06d2d
                      period_start:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      period_end:
                        type: string
                        example: '2025-10-28T14:49:59.000000Z'
                      amount_cents:
                        type: integer
                        example: 75051
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: DRAFT
                      issued_at:
                        type: string
                        example: '2025-09-28T14:49:59.000000Z'
                      due_at:
                        type: string
                        example: '2025-10-05T14:49:59.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 3296de68-dd50-46f7-a588-ee997aab4b1c
                          name:
                            type: string
                            example: 'Shanon Bauch DDS'
                      subscription:
                        type: object
                        properties:
                          id:
                            type: string
                            example: dc51ab44-8653-440a-a161-4755f035940e
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 3
                              value:
                                type: string
                                example: PAST_DUE
                          start_date:
                            type: string
                            example: '2025-09-28T23:31:33.000000Z'
                          end_date:
                            type: string
                            example: '2025-10-31T02:26:36.000000Z'
                      payments:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    put:
      summary: 'Update specific payment for a specific invoice'
      operationId: updateSpecificPaymentForASpecificInvoice
      description: 'This endpoint lets you update payment for a specific invoice'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-5971-7099-9d34-60b6229fd5b7
                    invoice:
                      id: 019990cd-591d-7116-b3ea-ce7fb38845fb
                      period_start: '2025-09-28T14:50:00.000000Z'
                      period_end: '2025-10-28T14:50:00.000000Z'
                      amount_cents: 21297
                      status:
                        key: 1
                        value: DRAFT
                    company:
                      id: 232c31e5-2518-4a99-8b61-148045293fd1
                      name: 'Shea Reichert'
                    amount_cents: 20000
                    currency:
                      key: 1
                      value: USD
                    method:
                      key: 4
                      value: TRANSFER
                    paid_at: '2025-09-28T14:50:00.000000Z'
                    reference: UPDATED-REF-123
                    created_at: '2025-09-28T14:50:00.000000Z'
                  message: 'The Invoice Payment updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-5971-7099-9d34-60b6229fd5b7
                      invoice:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 019990cd-591d-7116-b3ea-ce7fb38845fb
                          period_start:
                            type: string
                            example: '2025-09-28T14:50:00.000000Z'
                          period_end:
                            type: string
                            example: '2025-10-28T14:50:00.000000Z'
                          amount_cents:
                            type: integer
                            example: 21297
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: DRAFT
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 232c31e5-2518-4a99-8b61-148045293fd1
                          name:
                            type: string
                            example: 'Shea Reichert'
                      amount_cents:
                        type: integer
                        example: 20000
                      currency:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: USD
                      method:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: TRANSFER
                      paid_at:
                        type: string
                        example: '2025-09-28T14:50:00.000000Z'
                      reference:
                        type: string
                        example: UPDATED-REF-123
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:00.000000Z'
                  message:
                    type: string
                    example: 'The Invoice Payment updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount_cents:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 16
                  nullable: false
                currency:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                method:
                  type: integer
                  description: ''
                  example: 4
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                paid_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-28T14:51:32'
                  nullable: true
                reference:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: 'n'
                  nullable: true
    delete:
      summary: 'Delete specific payment for a specific invoice'
      operationId: deleteSpecificPaymentForASpecificInvoice
      description: 'This endpoint lets you delete specific payment for a specific invoice'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Payment deleted successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Payment deleted successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Admin
    parameters:
      -
        in: path
        name: subscription_id
        description: 'The ID of the subscription.'
        example: 019990ce-b96b-73bd-aee2-b5ca92ce57d0
        required: true
        schema:
          type: string
      -
        in: path
        name: invoice_id
        description: 'The ID of the invoice.'
        example: 019990ce-b98b-71cb-b6c2-070b5e311bf5
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the invoice payment.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/appointments/{appointment_id}/payments':
    post:
      summary: 'Add Payment for specific appointment'
      operationId: addPaymentForSpecificAppointment
      description: 'This endpoint lets you add payment payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-9438-72a7-8ade-10a3fea7d812
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 06f2fef3-b823-31fc-9eda-b4d03cbf24ad
                      name: 'Jessika Wyman Dr. Dorian Runolfsdottir MD'
                    created_at: '2025-09-28T14:50:15.000000Z'
                    patient:
                      id: 34980645-04fe-4425-9acf-b9ddc8051bdf
                      name: 'Felicia Gerlach Zita Bechtelar Sr.'
                      balance: 200
                    appointment:
                      id: 37556dd3-39ea-450f-b7c6-94f11c416671
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 250
                      paid_amount: 200
                      remaining_amount: 50
                  message: 'The Payment has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-9438-72a7-8ade-10a3fea7d812
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 06f2fef3-b823-31fc-9eda-b4d03cbf24ad
                          name:
                            type: string
                            example: 'Jessika Wyman Dr. Dorian Runolfsdottir MD'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:15.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 34980645-04fe-4425-9acf-b9ddc8051bdf
                          name:
                            type: string
                            example: 'Felicia Gerlach Zita Bechtelar Sr.'
                          balance:
                            type: integer
                            example: 200
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 37556dd3-39ea-450f-b7c6-94f11c416671
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 5
                              value:
                                type: string
                                example: CANCELLED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 200
                          remaining_amount:
                            type: integer
                            example: 50
                  message:
                    type: string
                    example: 'The Payment has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Appointment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
              required:
                - amount
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: appointment_id
        description: 'The ID of the appointment.'
        example: 019990ce-b877-73a3-89bd-f8a6eba38cf3
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/appointments/{appointment_id}/payments/{payment_id}':
    put:
      summary: 'Update Payment for specific appointment'
      operationId: updatePaymentForSpecificAppointment
      description: 'This endpoint lets you update specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 202a1ef2-5129-4e46-9f1e-f9d703cd3e0e
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 716e5011-a736-3242-b3e6-84bd13a35ce4
                      name: 'Dr. Berenice Haag Prof. Walker Mayert'
                    created_at: '2025-09-28T14:50:16.000000Z'
                    patient:
                      id: 49c627e4-ffa9-4dca-9273-c6b1a187a57c
                      name: 'Ruby Zboncak Mr. Chet Klein'
                      balance: 0
                    appointment:
                      id: 445e94d6-5f92-4e60-9f79-891e0b1e9474
                      status:
                        key: 2
                        value: SCHEDULED
                      total_amount: 250
                      paid_amount: 200
                      remaining_amount: 50
                  message: 'The Payment has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 202a1ef2-5129-4e46-9f1e-f9d703cd3e0e
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 716e5011-a736-3242-b3e6-84bd13a35ce4
                          name:
                            type: string
                            example: 'Dr. Berenice Haag Prof. Walker Mayert'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:16.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 49c627e4-ffa9-4dca-9273-c6b1a187a57c
                          name:
                            type: string
                            example: 'Ruby Zboncak Mr. Chet Klein'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 445e94d6-5f92-4e60-9f79-891e0b1e9474
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 2
                              value:
                                type: string
                                example: SCHEDULED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 200
                          remaining_amount:
                            type: integer
                            example: 50
                  message:
                    type: string
                    example: 'The Payment has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Appointment
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: appointment_id
        description: 'The ID of the appointment.'
        example: 019990ce-b877-73a3-89bd-f8a6eba38cf3
        required: true
        schema:
          type: string
      -
        in: path
        name: payment_id
        description: 'The ID of the payment.'
        example: 019990ce-b8a8-725a-8a61-42797e32200a
        required: true
        schema:
          type: string
  /api/v1/admin/payments:
    get:
      summary: 'Show all payments in specific company'
      operationId: showAllPaymentsInSpecificCompany
      description: 'This endpoint lets you show all payments in specific company'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by first_name,last_name for patient.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by first_name,last_name for patient.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 96ccdc02-ae16-4600-8647-8207bb5dab43
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                        name: 'Dr. Jovanny Kilback Kaleb Reynolds'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: de171931-eb46-44ee-83d2-135858bdafaa
                        name: "Schuyler O'Connell Prof. Jennifer Langworth"
                        balance: 0
                      appointment:
                        id: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                        status:
                          key: 2
                          value: SCHEDULED
                        total_amount: 250
                        paid_amount: 200
                        remaining_amount: 50
                    -
                      id: 6249efa5-26f1-4a67-b9de-f647d48c406f
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 507cfad8-39d1-3c97-8b06-a966da4d31d7
                        name: 'Mrs. Birdie Watsica PhD Kenneth Kub'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                        name: 'Lacey Bode Jimmy Kerluke'
                        balance: 0
                      appointment:
                        id: cbba32d0-dddb-4e54-81d0-d95799a252ec
                        status:
                          key: 2
                          value: SCHEDULED
                        total_amount: 250
                        paid_amount: 200
                        remaining_amount: 50
                    -
                      id: 5db2a673-36b3-475b-9973-47296112d783
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 1697824e-44bc-39d1-a5e3-f15640b093ce
                        name: 'Dr. Zackery Upton Eliza Conn'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3c0e423a-cb82-41d5-b4c1-406ee1f83077
                        name: 'Dr. Hertha Osinski Dr. Keyshawn Breitenberg'
                        balance: 0
                      appointment: null
                    -
                      id: 41a5aa8a-53f3-4296-ab05-2098a221f8eb
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 335e7710-8379-3687-8eed-c4ff244d18b3
                        name: 'Prof. Meghan Abshire Eladio Yost'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: de171931-eb46-44ee-83d2-135858bdafaa
                        name: "Schuyler O'Connell Prof. Jennifer Langworth"
                        balance: 0
                      appointment: null
                    -
                      id: 37566653-699d-4c27-a842-bcdf32747e60
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: b2a0fe85-6cca-3ba0-b8c6-397490dd1eea
                        name: 'Jaylin Erdman Zander Rath'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                        name: 'Lacey Bode Jimmy Kerluke'
                        balance: 0
                      appointment: null
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 96ccdc02-ae16-4600-8647-8207bb5dab43
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                          name: 'Dr. Jovanny Kilback Kaleb Reynolds'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: de171931-eb46-44ee-83d2-135858bdafaa
                          name: "Schuyler O'Connell Prof. Jennifer Langworth"
                          balance: 0
                        appointment:
                          id: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                          status:
                            key: 2
                            value: SCHEDULED
                          total_amount: 250
                          paid_amount: 200
                          remaining_amount: 50
                      -
                        id: 6249efa5-26f1-4a67-b9de-f647d48c406f
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 507cfad8-39d1-3c97-8b06-a966da4d31d7
                          name: 'Mrs. Birdie Watsica PhD Kenneth Kub'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                          name: 'Lacey Bode Jimmy Kerluke'
                          balance: 0
                        appointment:
                          id: cbba32d0-dddb-4e54-81d0-d95799a252ec
                          status:
                            key: 2
                            value: SCHEDULED
                          total_amount: 250
                          paid_amount: 200
                          remaining_amount: 50
                      -
                        id: 5db2a673-36b3-475b-9973-47296112d783
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 1697824e-44bc-39d1-a5e3-f15640b093ce
                          name: 'Dr. Zackery Upton Eliza Conn'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3c0e423a-cb82-41d5-b4c1-406ee1f83077
                          name: 'Dr. Hertha Osinski Dr. Keyshawn Breitenberg'
                          balance: 0
                        appointment: null
                      -
                        id: 41a5aa8a-53f3-4296-ab05-2098a221f8eb
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 335e7710-8379-3687-8eed-c4ff244d18b3
                          name: 'Prof. Meghan Abshire Eladio Yost'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: de171931-eb46-44ee-83d2-135858bdafaa
                          name: "Schuyler O'Connell Prof. Jennifer Langworth"
                          balance: 0
                        appointment: null
                      -
                        id: 37566653-699d-4c27-a842-bcdf32747e60
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: b2a0fe85-6cca-3ba0-b8c6-397490dd1eea
                          name: 'Jaylin Erdman Zander Rath'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                          name: 'Lacey Bode Jimmy Kerluke'
                          balance: 0
                        appointment: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 96ccdc02-ae16-4600-8647-8207bb5dab43
                        amount:
                          type: integer
                          example: 100
                        notes:
                          type: string
                          example: 'No thing'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                            name:
                              type: string
                              example: 'Dr. Jovanny Kilback Kaleb Reynolds'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:25.000000Z'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: de171931-eb46-44ee-83d2-135858bdafaa
                            name:
                              type: string
                              example: "Schuyler O'Connell Prof. Jennifer Langworth"
                            balance:
                              type: integer
                              example: 0
                        appointment:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 2
                                value:
                                  type: string
                                  example: SCHEDULED
                            total_amount:
                              type: integer
                              example: 250
                            paid_amount:
                              type: integer
                              example: 200
                            remaining_amount:
                              type: integer
                              example: 50
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
  '/api/v1/admin/payments/{id}':
    get:
      summary: 'Show Specific Payment'
      operationId: showSpecificPayment
      description: 'This endpoint lets you show specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2f656f4d-0516-4f19-bfd1-51a300865ad8
                    amount: 100
                    notes: 'No thing'
                    created_by:
                      id: e27ac8d2-781f-342d-ac1e-35a8ac2e5d30
                      name: 'Linnea Schuster Kiley Wiegand'
                    created_at: '2025-09-28T14:50:25.000000Z'
                    patient:
                      id: 72f75dde-b8e7-42f1-adfd-e44f99137093
                      name: 'Dr. Bernie Champlin Mittie Bernier II'
                      balance: 0
                    appointment:
                      id: 106f185b-27e3-4adf-a4ce-faf635455700
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 250
                      paid_amount: 100
                      remaining_amount: 150
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2f656f4d-0516-4f19-bfd1-51a300865ad8
                      amount:
                        type: integer
                        example: 100
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e27ac8d2-781f-342d-ac1e-35a8ac2e5d30
                          name:
                            type: string
                            example: 'Linnea Schuster Kiley Wiegand'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:25.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 72f75dde-b8e7-42f1-adfd-e44f99137093
                          name:
                            type: string
                            example: 'Dr. Bernie Champlin Mittie Bernier II'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 106f185b-27e3-4adf-a4ce-faf635455700
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 5
                              value:
                                type: string
                                example: CANCELLED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 100
                          remaining_amount:
                            type: integer
                            example: 150
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update Specific Payment'
      operationId: updateSpecificPayment
      description: 'This endpoint lets you update specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: d14de54c-7f34-4586-be78-46fdb77b7328
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 438fef6b-772e-31e4-a20f-21a1fcad6e7d
                      name: 'Chester Schuppe V Taylor Luettgen'
                    created_at: '2025-09-28T14:50:26.000000Z'
                    patient:
                      id: 12cb7e45-0356-4fdb-b2e8-a06dd487f094
                      name: 'Ms. Pearlie Gusikowski V Rebeka Pfannerstill DVM'
                      balance: 0
                    appointment:
                      id: 9f68e801-6c0f-4287-bded-c8e4d9a77b6a
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 250
                      paid_amount: 200
                      remaining_amount: 50
                  message: 'The Payment has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: d14de54c-7f34-4586-be78-46fdb77b7328
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 438fef6b-772e-31e4-a20f-21a1fcad6e7d
                          name:
                            type: string
                            example: 'Chester Schuppe V Taylor Luettgen'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:26.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 12cb7e45-0356-4fdb-b2e8-a06dd487f094
                          name:
                            type: string
                            example: 'Ms. Pearlie Gusikowski V Rebeka Pfannerstill DVM'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 9f68e801-6c0f-4287-bded-c8e4d9a77b6a
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 5
                              value:
                                type: string
                                example: CANCELLED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 200
                          remaining_amount:
                            type: integer
                            example: 50
                  message:
                    type: string
                    example: 'The Payment has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
    delete:
      summary: 'Delete Specific Payment'
      operationId: deleteSpecificPayment
      description: 'This endpoint lets you delete specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Payment has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Payment has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the payment.'
        example: 019990ce-b8a8-725a-8a61-42797e32200a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/patients':
    get:
      summary: 'Show all patients in specific branch'
      operationId: showAllPatientsInSpecificBranch
      description: 'This endpoint lets you show all patients in specific branch'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by username,first_name,last_name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by username,first_name,last_name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by status.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: c8fec124-d301-4258-9197-1156a38c3673
                      name: 'Miss Imelda Schuppe DVM Richard Pacocha'
                      first_name: 'Miss Imelda Schuppe DVM'
                      last_name: 'Richard Pacocha'
                      age: 68
                      address: "354 Zboncak Locks Apt. 988\nEast Penelope, NJ 96937"
                      phone: '+15079649132'
                      gender:
                        key: 2
                        value: FEMALE
                      created_by:
                        id: null
                        name: null
                      created_at: '2025-09-28T14:50:19.000000Z'
                      balance: 0
                      paid_amount: 0
                      remaining: 0
                      total_amount: 0
                      company:
                        id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                        name: 'Waino Pouros'
                      payments: null
                      appointments: null
                      tooth_history: null
                    -
                      id: 91aa0343-3e86-4a23-9822-f20ebae6dded
                      name: 'Kaia Kuphal Dr. Dillon Streich'
                      first_name: 'Kaia Kuphal'
                      last_name: 'Dr. Dillon Streich'
                      age: 84
                      address: "2149 Rebecca Crossroad Suite 267\nNorth Lloyd, NC 74473-1705"
                      phone: 920-259-0237
                      gender:
                        key: 2
                        value: FEMALE
                      created_by:
                        id: null
                        name: null
                      created_at: '2025-09-28T14:50:19.000000Z'
                      balance: 0
                      paid_amount: 0
                      remaining: 0
                      total_amount: 0
                      company:
                        id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                        name: 'Waino Pouros'
                      payments: null
                      appointments: null
                      tooth_history: null
                    -
                      id: 63e0fe94-84b9-4d82-8bd0-a7a0515c8535
                      name: 'Millie Mitchell DVM Rachel Mayert Jr.'
                      first_name: 'Millie Mitchell DVM'
                      last_name: 'Rachel Mayert Jr.'
                      age: 12
                      address: "6135 Hessel Mountain\nNew Edisonchester, WY 63524-2334"
                      phone: 636.340.6369
                      gender:
                        key: 1
                        value: MALE
                      created_by:
                        id: null
                        name: null
                      created_at: '2025-09-28T14:50:19.000000Z'
                      balance: 0
                      paid_amount: 0
                      remaining: 0
                      total_amount: 0
                      company:
                        id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                        name: 'Waino Pouros'
                      payments: null
                      appointments: null
                      tooth_history: null
                    -
                      id: 626efb0a-46ed-46bf-9a08-72067b44306d
                      name: 'Viola Rau Erik Gutkowski PhD'
                      first_name: 'Viola Rau'
                      last_name: 'Erik Gutkowski PhD'
                      age: 32
                      address: "9567 Raegan Corners Apt. 148\nStoltenbergfort, MT 81818"
                      phone: 817.294.0504
                      gender:
                        key: 1
                        value: MALE
                      created_by:
                        id: null
                        name: null
                      created_at: '2025-09-28T14:50:19.000000Z'
                      balance: 0
                      paid_amount: 0
                      remaining: 0
                      total_amount: 0
                      company:
                        id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                        name: 'Waino Pouros'
                      payments: null
                      appointments: null
                      tooth_history: null
                    -
                      id: 532ffc17-8ea1-493a-97eb-c93b8efce3bc
                      name: 'Guy Kunde Zoila Runolfsdottir'
                      first_name: 'Guy Kunde'
                      last_name: 'Zoila Runolfsdottir'
                      age: 58
                      address: "73544 Prohaska Corners Suite 436\nEast Reina, NY 35564"
                      phone: '(743) 700-3340'
                      gender:
                        key: 2
                        value: FEMALE
                      created_by:
                        id: null
                        name: null
                      created_at: '2025-09-28T14:50:19.000000Z'
                      balance: 0
                      paid_amount: 0
                      remaining: 0
                      total_amount: 0
                      company:
                        id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                        name: 'Waino Pouros'
                      payments: null
                      appointments: null
                      tooth_history: null
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: c8fec124-d301-4258-9197-1156a38c3673
                        name: 'Miss Imelda Schuppe DVM Richard Pacocha'
                        first_name: 'Miss Imelda Schuppe DVM'
                        last_name: 'Richard Pacocha'
                        age: 68
                        address: "354 Zboncak Locks Apt. 988\nEast Penelope, NJ 96937"
                        phone: '+15079649132'
                        gender:
                          key: 2
                          value: FEMALE
                        created_by:
                          id: null
                          name: null
                        created_at: '2025-09-28T14:50:19.000000Z'
                        balance: 0
                        paid_amount: 0
                        remaining: 0
                        total_amount: 0
                        company:
                          id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                          name: 'Waino Pouros'
                        payments: null
                        appointments: null
                        tooth_history: null
                      -
                        id: 91aa0343-3e86-4a23-9822-f20ebae6dded
                        name: 'Kaia Kuphal Dr. Dillon Streich'
                        first_name: 'Kaia Kuphal'
                        last_name: 'Dr. Dillon Streich'
                        age: 84
                        address: "2149 Rebecca Crossroad Suite 267\nNorth Lloyd, NC 74473-1705"
                        phone: 920-259-0237
                        gender:
                          key: 2
                          value: FEMALE
                        created_by:
                          id: null
                          name: null
                        created_at: '2025-09-28T14:50:19.000000Z'
                        balance: 0
                        paid_amount: 0
                        remaining: 0
                        total_amount: 0
                        company:
                          id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                          name: 'Waino Pouros'
                        payments: null
                        appointments: null
                        tooth_history: null
                      -
                        id: 63e0fe94-84b9-4d82-8bd0-a7a0515c8535
                        name: 'Millie Mitchell DVM Rachel Mayert Jr.'
                        first_name: 'Millie Mitchell DVM'
                        last_name: 'Rachel Mayert Jr.'
                        age: 12
                        address: "6135 Hessel Mountain\nNew Edisonchester, WY 63524-2334"
                        phone: 636.340.6369
                        gender:
                          key: 1
                          value: MALE
                        created_by:
                          id: null
                          name: null
                        created_at: '2025-09-28T14:50:19.000000Z'
                        balance: 0
                        paid_amount: 0
                        remaining: 0
                        total_amount: 0
                        company:
                          id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                          name: 'Waino Pouros'
                        payments: null
                        appointments: null
                        tooth_history: null
                      -
                        id: 626efb0a-46ed-46bf-9a08-72067b44306d
                        name: 'Viola Rau Erik Gutkowski PhD'
                        first_name: 'Viola Rau'
                        last_name: 'Erik Gutkowski PhD'
                        age: 32
                        address: "9567 Raegan Corners Apt. 148\nStoltenbergfort, MT 81818"
                        phone: 817.294.0504
                        gender:
                          key: 1
                          value: MALE
                        created_by:
                          id: null
                          name: null
                        created_at: '2025-09-28T14:50:19.000000Z'
                        balance: 0
                        paid_amount: 0
                        remaining: 0
                        total_amount: 0
                        company:
                          id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                          name: 'Waino Pouros'
                        payments: null
                        appointments: null
                        tooth_history: null
                      -
                        id: 532ffc17-8ea1-493a-97eb-c93b8efce3bc
                        name: 'Guy Kunde Zoila Runolfsdottir'
                        first_name: 'Guy Kunde'
                        last_name: 'Zoila Runolfsdottir'
                        age: 58
                        address: "73544 Prohaska Corners Suite 436\nEast Reina, NY 35564"
                        phone: '(743) 700-3340'
                        gender:
                          key: 2
                          value: FEMALE
                        created_by:
                          id: null
                          name: null
                        created_at: '2025-09-28T14:50:19.000000Z'
                        balance: 0
                        paid_amount: 0
                        remaining: 0
                        total_amount: 0
                        company:
                          id: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                          name: 'Waino Pouros'
                        payments: null
                        appointments: null
                        tooth_history: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: c8fec124-d301-4258-9197-1156a38c3673
                        name:
                          type: string
                          example: 'Miss Imelda Schuppe DVM Richard Pacocha'
                        first_name:
                          type: string
                          example: 'Miss Imelda Schuppe DVM'
                        last_name:
                          type: string
                          example: 'Richard Pacocha'
                        age:
                          type: integer
                          example: 68
                        address:
                          type: string
                          example: "354 Zboncak Locks Apt. 988\nEast Penelope, NJ 96937"
                        phone:
                          type: string
                          example: '+15079649132'
                        gender:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 2
                            value:
                              type: string
                              example: FEMALE
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: null
                            name:
                              type: string
                              example: null
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:19.000000Z'
                        balance:
                          type: integer
                          example: 0
                        paid_amount:
                          type: integer
                          example: 0
                        remaining:
                          type: integer
                          example: 0
                        total_amount:
                          type: integer
                          example: 0
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 92a31bf2-f2a7-4daf-9d12-b4fdbd4bfe8e
                            name:
                              type: string
                              example: 'Waino Pouros'
                        payments:
                          type: string
                          example: null
                        appointments:
                          type: string
                          example: null
                        tooth_history:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    post:
      summary: 'Add Patient'
      operationId: addPatient
      description: 'This endpoint lets you add  patient'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-ae07-72a5-99bd-3970202edccf
                    name: 'John Doe'
                    first_name: John
                    last_name: Doe
                    age: 20
                    address: null
                    phone: '+971581234567'
                    gender:
                      key: 2
                      value: FEMALE
                    created_by:
                      id: d643886c-5e1a-353a-85b3-3a4a60843c02
                      name: 'Dr. Jett Weissnat PhD Miss Alexa Willms PhD'
                    created_at: '2025-09-28T14:50:22.000000Z'
                    balance: 0
                    paid_amount: 0
                    remaining: 0
                    total_amount: 0
                    company:
                      id: bca2bf72-e7f0-4838-8963-4cd16cc39745
                      name: 'Dr. Karianne Hamill V'
                    payments: null
                    appointments: null
                    tooth_history: null
                  message: 'The Patient has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-ae07-72a5-99bd-3970202edccf
                      name:
                        type: string
                        example: 'John Doe'
                      first_name:
                        type: string
                        example: John
                      last_name:
                        type: string
                        example: Doe
                      age:
                        type: integer
                        example: 20
                      address:
                        type: string
                        example: null
                      phone:
                        type: string
                        example: '+971581234567'
                      gender:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: FEMALE
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d643886c-5e1a-353a-85b3-3a4a60843c02
                          name:
                            type: string
                            example: 'Dr. Jett Weissnat PhD Miss Alexa Willms PhD'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:22.000000Z'
                      balance:
                        type: integer
                        example: 0
                      paid_amount:
                        type: integer
                        example: 0
                      remaining:
                        type: integer
                        example: 0
                      total_amount:
                        type: integer
                        example: 0
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: bca2bf72-e7f0-4838-8963-4cd16cc39745
                          name:
                            type: string
                            example: 'Dr. Karianne Hamill V'
                      payments:
                        type: string
                        example: null
                      appointments:
                        type: string
                        example: null
                      tooth_history:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Patient has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                gender:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                age:
                  type: number
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: false
                address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: z
                  nullable: false
              required:
                - first_name
                - last_name
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/patients/{id}':
    get:
      summary: 'Show Specific Patient'
      operationId: showSpecificPatient
      description: 'This endpoint lets you show specific patient'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: d3c69697-a861-47e7-8098-5b7dc8ce2fe3
                    name: 'Grady Ledner PhD Mr. Theo Abshire I'
                    first_name: 'Grady Ledner PhD'
                    last_name: 'Mr. Theo Abshire I'
                    age: 92
                    address: "7836 Blanda Wells\nKohlerchester, WA 60347-0580"
                    phone: '+1 (561) 556-4995'
                    gender:
                      key: 2
                      value: FEMALE
                    created_by:
                      id: null
                      name: null
                    created_at: '2025-09-28T14:50:22.000000Z'
                    balance: 0
                    paid_amount: 0
                    remaining: 0
                    total_amount: 0
                    company:
                      id: 1ac1f377-aefb-4040-82ef-80a8824881e9
                      name: "Margot O'Kon"
                    payments: null
                    appointments: null
                    tooth_history: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: d3c69697-a861-47e7-8098-5b7dc8ce2fe3
                      name:
                        type: string
                        example: 'Grady Ledner PhD Mr. Theo Abshire I'
                      first_name:
                        type: string
                        example: 'Grady Ledner PhD'
                      last_name:
                        type: string
                        example: 'Mr. Theo Abshire I'
                      age:
                        type: integer
                        example: 92
                      address:
                        type: string
                        example: "7836 Blanda Wells\nKohlerchester, WA 60347-0580"
                      phone:
                        type: string
                        example: '+1 (561) 556-4995'
                      gender:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: FEMALE
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: null
                          name:
                            type: string
                            example: null
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:22.000000Z'
                      balance:
                        type: integer
                        example: 0
                      paid_amount:
                        type: integer
                        example: 0
                      remaining:
                        type: integer
                        example: 0
                      total_amount:
                        type: integer
                        example: 0
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 1ac1f377-aefb-4040-82ef-80a8824881e9
                          name:
                            type: string
                            example: "Margot O'Kon"
                      payments:
                        type: string
                        example: null
                      appointments:
                        type: string
                        example: null
                      tooth_history:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update Specific Patient'
      operationId: updateSpecificPatient
      description: 'This endpoint lets you update specific patient'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2eeb89e1-bc20-4ea6-8398-2458e3764631
                    name: 'Razan Khoulani'
                    first_name: Razan
                    last_name: Khoulani
                    age: 20
                    address: Damascus
                    phone: '+963945345844'
                    gender:
                      key: 2
                      value: FEMALE
                    created_by:
                      id: null
                      name: null
                    created_at: '2025-09-28T14:50:24.000000Z'
                    balance: 0
                    paid_amount: 0
                    remaining: 0
                    total_amount: 0
                    company:
                      id: b61c0364-6dc3-48d7-aab4-280b3d7373f9
                      name: 'Macey Wiegand IV'
                    payments: null
                    appointments: null
                    tooth_history: null
                  message: 'The Patient has been updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2eeb89e1-bc20-4ea6-8398-2458e3764631
                      name:
                        type: string
                        example: 'Razan Khoulani'
                      first_name:
                        type: string
                        example: Razan
                      last_name:
                        type: string
                        example: Khoulani
                      age:
                        type: integer
                        example: 20
                      address:
                        type: string
                        example: Damascus
                      phone:
                        type: string
                        example: '+963945345844'
                      gender:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: FEMALE
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: null
                          name:
                            type: string
                            example: null
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:24.000000Z'
                      balance:
                        type: integer
                        example: 0
                      paid_amount:
                        type: integer
                        example: 0
                      remaining:
                        type: integer
                        example: 0
                      total_amount:
                        type: integer
                        example: 0
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: b61c0364-6dc3-48d7-aab4-280b3d7373f9
                          name:
                            type: string
                            example: 'Macey Wiegand IV'
                      payments:
                        type: string
                        example: null
                      appointments:
                        type: string
                        example: null
                      tooth_history:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Patient has been updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                gender:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                age:
                  type: number
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: false
                address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: z
                  nullable: false
    delete:
      summary: 'Delete Specific Patient'
      operationId: deleteSpecificPatient
      description: 'This endpoint lets you delete specific patient'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Patient has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Patient has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the patient.'
        example: 019990ce-b85d-7346-8ef0-3aadc3375c5a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/appointments':
    get:
      summary: 'Show all appointments in specific branch'
      operationId: showAllAppointmentsInSpecificBranch
      description: 'This endpoint lets you show all appointments in specific branch'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[patient_id]'
          description: 'Field to filter items by patient_id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by patient_id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by first_name,last_name for patient'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by first_name,last_name for patient'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by status,start_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by status,start_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: a25559d1-4510-4b90-8b36-7e1a747547b1
                      start_at: '2025-09-28T17:20:17.000000Z'
                      end_at: '2025-10-15T07:03:47.000000Z'
                      status:
                        key: 3
                        value: PROCESSING
                      total_amount: 9718
                      created_by:
                        id: 9a9c06ef-7101-3c5e-a2bb-92bfc6babfdd
                        name: 'Mr. Arnold Stroman Dr. Ross Nienow'
                      created_at: '2025-09-28T14:50:17.000000Z'
                      company:
                        id: 4924409e-b85c-4495-a5c3-fdebfa347913
                        name: 'Javier Adams'
                      patient:
                        id: f4cecd6c-c4d5-4e2e-b04e-529ecbd8606c
                        name: 'Dejon Vandervort Ara Jakubowski'
                        balance: 0
                      doctor:
                        id: fb70e225-d268-3d00-b3a2-4bf4a22086b1
                        name: 'Dr. Diego McLaughlin DVM Prof. Wilhelm Rohan Jr.'
                        username: 'Kirsten Jenkins'
                        phone: '+18783555454'
                      notes: 'Placeat et autem dolore animi.'
                      is_current: false
                      is_next: false
                    -
                      id: 7c3691a6-58bd-4c54-bb09-5c60a1bfc95a
                      start_at: '2025-09-28T15:05:16.000000Z'
                      end_at: '2025-10-05T15:36:53.000000Z'
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 9723
                      created_by:
                        id: 02fee3e0-5316-3152-8257-ca192a99dd9e
                        name: 'Prof. Bobby McKenzie Prof. Twila Fritsch DVM'
                      created_at: '2025-09-28T14:50:16.000000Z'
                      company:
                        id: 4924409e-b85c-4495-a5c3-fdebfa347913
                        name: 'Javier Adams'
                      patient:
                        id: 261627be-82ce-4d6f-bf77-731438736645
                        name: 'Emma Bruen Gudrun Cronin'
                        balance: 0
                      doctor:
                        id: 6d5bd27e-d8c8-38a0-ab5b-7a0a0bea70a8
                        name: 'Prof. Felix Bayer PhD Alverta Carroll'
                        username: 'Dr. Johnny Spencer'
                        phone: +1.281.917.8830
                      notes: 'Aut vitae et ut possimus ab.'
                      is_current: false
                      is_next: false
                    -
                      id: 7c363dd4-e4ed-4522-8b3e-404bc5aae458
                      start_at: '2025-09-28T18:35:17.000000Z'
                      end_at: '2025-10-20T01:27:47.000000Z'
                      status:
                        key: 3
                        value: PROCESSING
                      total_amount: 7497
                      created_by:
                        id: 812bba68-24d9-3efe-a95a-7b9f9cba54c3
                        name: 'Leonie Armstrong Tressa Swift'
                      created_at: '2025-09-28T14:50:17.000000Z'
                      company:
                        id: 4924409e-b85c-4495-a5c3-fdebfa347913
                        name: 'Javier Adams'
                      patient:
                        id: e89e5ca8-b316-4fde-8c78-67c304b6bba4
                        name: 'Lilly Nitzsche Milton Labadie'
                        balance: 0
                      doctor:
                        id: 00b47b49-83ba-37c3-abc8-c95d06119aee
                        name: 'Shaylee Cartwright Lucy Bosco'
                        username: 'Kavon Hoeger'
                        phone: +1.661.497.4439
                      notes: 'In fugit doloremque quia fugiat natus.'
                      is_current: false
                      is_next: false
                    -
                      id: 7a00264f-851b-42ff-b2f2-60a1d35fe2fd
                      start_at: '2025-09-28T15:20:16.000000Z'
                      end_at: '2025-10-26T16:10:57.000000Z'
                      status:
                        key: 2
                        value: SCHEDULED
                      total_amount: 2073
                      created_by:
                        id: 6d90adf7-e3d6-3ef4-a167-8149c1c5d415
                        name: 'Dr. Dayana Auer PhD Dr. Dereck Kertzmann'
                      created_at: '2025-09-28T14:50:16.000000Z'
                      company:
                        id: 4924409e-b85c-4495-a5c3-fdebfa347913
                        name: 'Javier Adams'
                      patient:
                        id: 2b83442d-b33d-42e1-be07-b98d03a3ab64
                        name: 'Prof. Lon Lesch III Afton Ritchie DDS'
                        balance: 0
                      doctor:
                        id: 4b9b4761-533e-362f-8337-1701af70ac37
                        name: 'Wendy Miller V Dr. Rogelio Heathcote'
                        username: 'Prof. Dayne Corkery'
                        phone: '+19046926768'
                      notes: 'Similique natus corporis facere sint omnis reprehenderit.'
                      is_current: false
                      is_next: false
                    -
                      id: 71b8bc74-eba9-408a-ae22-d37444fe8144
                      start_at: '2025-09-28T17:05:17.000000Z'
                      end_at: '2025-10-01T09:01:59.000000Z'
                      status:
                        key: 4
                        value: COMPLETED
                      total_amount: 3006
                      created_by:
                        id: b6fc8929-3429-3e88-912f-1fadc025b54d
                        name: 'Marielle Labadie Dortha Leuschke'
                      created_at: '2025-09-28T14:50:17.000000Z'
                      company:
                        id: 4924409e-b85c-4495-a5c3-fdebfa347913
                        name: 'Javier Adams'
                      patient:
                        id: 944756e2-4d12-44f3-ad32-700e56f09b5d
                        name: 'Dejon Grady Dr. Rachael Jerde'
                        balance: 0
                      doctor:
                        id: c7b614b5-93c8-3466-9ae8-90e2c0439daa
                        name: 'Dr. Irwin Sawayn I Dr. Dovie West'
                        username: 'Camren Torp'
                        phone: +1-818-655-0399
                      notes: 'Fugit omnis sapiente ab fugit veritatis et.'
                      is_current: false
                      is_next: false
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: a25559d1-4510-4b90-8b36-7e1a747547b1
                        start_at: '2025-09-28T17:20:17.000000Z'
                        end_at: '2025-10-15T07:03:47.000000Z'
                        status:
                          key: 3
                          value: PROCESSING
                        total_amount: 9718
                        created_by:
                          id: 9a9c06ef-7101-3c5e-a2bb-92bfc6babfdd
                          name: 'Mr. Arnold Stroman Dr. Ross Nienow'
                        created_at: '2025-09-28T14:50:17.000000Z'
                        company:
                          id: 4924409e-b85c-4495-a5c3-fdebfa347913
                          name: 'Javier Adams'
                        patient:
                          id: f4cecd6c-c4d5-4e2e-b04e-529ecbd8606c
                          name: 'Dejon Vandervort Ara Jakubowski'
                          balance: 0
                        doctor:
                          id: fb70e225-d268-3d00-b3a2-4bf4a22086b1
                          name: 'Dr. Diego McLaughlin DVM Prof. Wilhelm Rohan Jr.'
                          username: 'Kirsten Jenkins'
                          phone: '+18783555454'
                        notes: 'Placeat et autem dolore animi.'
                        is_current: false
                        is_next: false
                      -
                        id: 7c3691a6-58bd-4c54-bb09-5c60a1bfc95a
                        start_at: '2025-09-28T15:05:16.000000Z'
                        end_at: '2025-10-05T15:36:53.000000Z'
                        status:
                          key: 5
                          value: CANCELLED
                        total_amount: 9723
                        created_by:
                          id: 02fee3e0-5316-3152-8257-ca192a99dd9e
                          name: 'Prof. Bobby McKenzie Prof. Twila Fritsch DVM'
                        created_at: '2025-09-28T14:50:16.000000Z'
                        company:
                          id: 4924409e-b85c-4495-a5c3-fdebfa347913
                          name: 'Javier Adams'
                        patient:
                          id: 261627be-82ce-4d6f-bf77-731438736645
                          name: 'Emma Bruen Gudrun Cronin'
                          balance: 0
                        doctor:
                          id: 6d5bd27e-d8c8-38a0-ab5b-7a0a0bea70a8
                          name: 'Prof. Felix Bayer PhD Alverta Carroll'
                          username: 'Dr. Johnny Spencer'
                          phone: +1.281.917.8830
                        notes: 'Aut vitae et ut possimus ab.'
                        is_current: false
                        is_next: false
                      -
                        id: 7c363dd4-e4ed-4522-8b3e-404bc5aae458
                        start_at: '2025-09-28T18:35:17.000000Z'
                        end_at: '2025-10-20T01:27:47.000000Z'
                        status:
                          key: 3
                          value: PROCESSING
                        total_amount: 7497
                        created_by:
                          id: 812bba68-24d9-3efe-a95a-7b9f9cba54c3
                          name: 'Leonie Armstrong Tressa Swift'
                        created_at: '2025-09-28T14:50:17.000000Z'
                        company:
                          id: 4924409e-b85c-4495-a5c3-fdebfa347913
                          name: 'Javier Adams'
                        patient:
                          id: e89e5ca8-b316-4fde-8c78-67c304b6bba4
                          name: 'Lilly Nitzsche Milton Labadie'
                          balance: 0
                        doctor:
                          id: 00b47b49-83ba-37c3-abc8-c95d06119aee
                          name: 'Shaylee Cartwright Lucy Bosco'
                          username: 'Kavon Hoeger'
                          phone: +1.661.497.4439
                        notes: 'In fugit doloremque quia fugiat natus.'
                        is_current: false
                        is_next: false
                      -
                        id: 7a00264f-851b-42ff-b2f2-60a1d35fe2fd
                        start_at: '2025-09-28T15:20:16.000000Z'
                        end_at: '2025-10-26T16:10:57.000000Z'
                        status:
                          key: 2
                          value: SCHEDULED
                        total_amount: 2073
                        created_by:
                          id: 6d90adf7-e3d6-3ef4-a167-8149c1c5d415
                          name: 'Dr. Dayana Auer PhD Dr. Dereck Kertzmann'
                        created_at: '2025-09-28T14:50:16.000000Z'
                        company:
                          id: 4924409e-b85c-4495-a5c3-fdebfa347913
                          name: 'Javier Adams'
                        patient:
                          id: 2b83442d-b33d-42e1-be07-b98d03a3ab64
                          name: 'Prof. Lon Lesch III Afton Ritchie DDS'
                          balance: 0
                        doctor:
                          id: 4b9b4761-533e-362f-8337-1701af70ac37
                          name: 'Wendy Miller V Dr. Rogelio Heathcote'
                          username: 'Prof. Dayne Corkery'
                          phone: '+19046926768'
                        notes: 'Similique natus corporis facere sint omnis reprehenderit.'
                        is_current: false
                        is_next: false
                      -
                        id: 71b8bc74-eba9-408a-ae22-d37444fe8144
                        start_at: '2025-09-28T17:05:17.000000Z'
                        end_at: '2025-10-01T09:01:59.000000Z'
                        status:
                          key: 4
                          value: COMPLETED
                        total_amount: 3006
                        created_by:
                          id: b6fc8929-3429-3e88-912f-1fadc025b54d
                          name: 'Marielle Labadie Dortha Leuschke'
                        created_at: '2025-09-28T14:50:17.000000Z'
                        company:
                          id: 4924409e-b85c-4495-a5c3-fdebfa347913
                          name: 'Javier Adams'
                        patient:
                          id: 944756e2-4d12-44f3-ad32-700e56f09b5d
                          name: 'Dejon Grady Dr. Rachael Jerde'
                          balance: 0
                        doctor:
                          id: c7b614b5-93c8-3466-9ae8-90e2c0439daa
                          name: 'Dr. Irwin Sawayn I Dr. Dovie West'
                          username: 'Camren Torp'
                          phone: +1-818-655-0399
                        notes: 'Fugit omnis sapiente ab fugit veritatis et.'
                        is_current: false
                        is_next: false
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: a25559d1-4510-4b90-8b36-7e1a747547b1
                        start_at:
                          type: string
                          example: '2025-09-28T17:20:17.000000Z'
                        end_at:
                          type: string
                          example: '2025-10-15T07:03:47.000000Z'
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 3
                            value:
                              type: string
                              example: PROCESSING
                        total_amount:
                          type: integer
                          example: 9718
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 9a9c06ef-7101-3c5e-a2bb-92bfc6babfdd
                            name:
                              type: string
                              example: 'Mr. Arnold Stroman Dr. Ross Nienow'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:17.000000Z'
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 4924409e-b85c-4495-a5c3-fdebfa347913
                            name:
                              type: string
                              example: 'Javier Adams'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: f4cecd6c-c4d5-4e2e-b04e-529ecbd8606c
                            name:
                              type: string
                              example: 'Dejon Vandervort Ara Jakubowski'
                            balance:
                              type: integer
                              example: 0
                        doctor:
                          type: object
                          properties:
                            id:
                              type: string
                              example: fb70e225-d268-3d00-b3a2-4bf4a22086b1
                            name:
                              type: string
                              example: 'Dr. Diego McLaughlin DVM Prof. Wilhelm Rohan Jr.'
                            username:
                              type: string
                              example: 'Kirsten Jenkins'
                            phone:
                              type: string
                              example: '+18783555454'
                        notes:
                          type: string
                          example: 'Placeat et autem dolore animi.'
                        is_current:
                          type: boolean
                          example: false
                        is_next:
                          type: boolean
                          example: false
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    post:
      summary: 'Add Appointment'
      operationId: addAppointment
      description: 'This endpoint lets you add  appointment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-9b1b-7206-944b-b75c924c1211
                    start_at: '2025-09-28T16:50:17.000000Z'
                    end_at: '2025-09-28T17:20:17.000000Z'
                    status:
                      key: 1
                      value: PENDING
                    total_amount: 200
                    created_by:
                      id: e321992f-faaa-3c63-b45a-856c313ee906
                      name: 'Guadalupe Walter Jr. Natalie Jacobi PhD'
                    created_at: '2025-09-28T14:50:17.000000Z'
                    company:
                      id: c63ab6e2-374a-421f-9d7e-c26de264aa6b
                      name: 'Ara Leffler'
                    patient:
                      id: 9094b913-68a7-4ab5-8242-62e2193c44b7
                      name: 'Dr. Wade McLaughlin Fern Dach'
                      balance: 0
                    doctor:
                      id: 8677c5f3-a64d-31d7-8d67-bea84c8087a8
                      name: 'Sarai Muller III Kenyon Ward'
                      username: 'Mr. Andrew Parker Jr.'
                      phone: +1-646-903-8392
                    notes: null
                    is_current: false
                    is_next: false
                  message: 'The Appointment has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-9b1b-7206-944b-b75c924c1211
                      start_at:
                        type: string
                        example: '2025-09-28T16:50:17.000000Z'
                      end_at:
                        type: string
                        example: '2025-09-28T17:20:17.000000Z'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: PENDING
                      total_amount:
                        type: integer
                        example: 200
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e321992f-faaa-3c63-b45a-856c313ee906
                          name:
                            type: string
                            example: 'Guadalupe Walter Jr. Natalie Jacobi PhD'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:17.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: c63ab6e2-374a-421f-9d7e-c26de264aa6b
                          name:
                            type: string
                            example: 'Ara Leffler'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 9094b913-68a7-4ab5-8242-62e2193c44b7
                          name:
                            type: string
                            example: 'Dr. Wade McLaughlin Fern Dach'
                          balance:
                            type: integer
                            example: 0
                      doctor:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 8677c5f3-a64d-31d7-8d67-bea84c8087a8
                          name:
                            type: string
                            example: 'Sarai Muller III Kenyon Ward'
                          username:
                            type: string
                            example: 'Mr. Andrew Parker Jr.'
                          phone:
                            type: string
                            example: +1-646-903-8392
                      notes:
                        type: string
                        example: null
                      is_current:
                        type: boolean
                        example: false
                      is_next:
                        type: boolean
                        example: false
                  message:
                    type: string
                    example: 'The Appointment has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                patient_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the patients table.'
                  example: architecto
                  nullable: false
                doctor_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: architecto
                  nullable: false
                start_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>now</code>.'
                  example: '2051-10-23'
                  nullable: false
                end_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>start_at</code>.'
                  example: '2051-10-22'
                  nullable: false
                total_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
              required:
                - patient_id
                - doctor_id
                - start_at
                - end_at
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/appointments/{id}':
    get:
      summary: 'Show Specific Appointment'
      operationId: showSpecificAppointment
      description: 'This endpoint lets you show specific appointment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 9c306604-57c1-4a59-8272-1a4ff20aa09f
                    start_at: '2025-10-28T03:12:25.000000Z'
                    end_at: '2025-10-28T03:58:25.000000Z'
                    status:
                      key: 4
                      value: COMPLETED
                    total_amount: 3138
                    created_by:
                      id: ddfcd4fa-b72d-326d-853e-222f203aa660
                      name: 'Verona Bartoletti Mr. Milan McCullough IV'
                    created_at: '2025-09-28T14:50:17.000000Z'
                    company:
                      id: d974be86-9644-4567-9723-57ebd1e8b238
                      name: 'Melvina Powlowski'
                    patient:
                      id: dd6e699f-97b3-4fdf-b88f-bf08eeb95d64
                      name: 'Kaylee Stroman Jeramie Block'
                      balance: 0
                    doctor:
                      id: 6b13b572-e45e-3e6f-a9ef-d79412afb17d
                      name: 'Retta Eichmann Wilson VonRueden'
                      username: 'Milton Pollich'
                      phone: +1-341-760-8517
                    notes: 'Nostrum beatae maiores aut enim vel rerum aut.'
                    is_current: false
                    is_next: false
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 9c306604-57c1-4a59-8272-1a4ff20aa09f
                      start_at:
                        type: string
                        example: '2025-10-28T03:12:25.000000Z'
                      end_at:
                        type: string
                        example: '2025-10-28T03:58:25.000000Z'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: COMPLETED
                      total_amount:
                        type: integer
                        example: 3138
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: ddfcd4fa-b72d-326d-853e-222f203aa660
                          name:
                            type: string
                            example: 'Verona Bartoletti Mr. Milan McCullough IV'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:17.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d974be86-9644-4567-9723-57ebd1e8b238
                          name:
                            type: string
                            example: 'Melvina Powlowski'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: dd6e699f-97b3-4fdf-b88f-bf08eeb95d64
                          name:
                            type: string
                            example: 'Kaylee Stroman Jeramie Block'
                          balance:
                            type: integer
                            example: 0
                      doctor:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 6b13b572-e45e-3e6f-a9ef-d79412afb17d
                          name:
                            type: string
                            example: 'Retta Eichmann Wilson VonRueden'
                          username:
                            type: string
                            example: 'Milton Pollich'
                          phone:
                            type: string
                            example: +1-341-760-8517
                      notes:
                        type: string
                        example: 'Nostrum beatae maiores aut enim vel rerum aut.'
                      is_current:
                        type: boolean
                        example: false
                      is_next:
                        type: boolean
                        example: false
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update Specific Appointment'
      operationId: updateSpecificAppointment
      description: 'This endpoint lets you update specific appointment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 4f91c638-b4cb-496c-8ca2-9ff2f9a56624
                    start_at: '2025-09-28T18:50:17.000000Z'
                    end_at: '2025-09-28T19:35:17.000000Z'
                    status:
                      key: 4
                      value: COMPLETED
                    total_amount: 400
                    created_by:
                      id: 6c23d5cc-dbff-3615-8365-31c25a57f10e
                      name: 'Magnolia Carroll Garrick Parker'
                    created_at: '2025-09-28T14:50:17.000000Z'
                    company:
                      id: 16c6e4a3-c5b3-40cf-b6b1-e6282a457025
                      name: 'Verla Bechtelar'
                    patient:
                      id: 7dd2b9c4-e69b-4184-8d30-cb413d1afc43
                      name: 'Emie Sawayn Sr. Uriel Cartwright'
                      balance: 0
                    doctor:
                      id: 6c74e26d-b12f-3291-9440-625523e871e3
                      name: 'Mr. Vincenzo Dicki DDS Erich Nicolas II'
                      username: 'Crawford McLaughlin'
                      phone: +1.305.352.6673
                    notes: 'Voluptatem consequuntur delectus occaecati.'
                    is_current: false
                    is_next: false
                  message: 'The Appointment has been updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 4f91c638-b4cb-496c-8ca2-9ff2f9a56624
                      start_at:
                        type: string
                        example: '2025-09-28T18:50:17.000000Z'
                      end_at:
                        type: string
                        example: '2025-09-28T19:35:17.000000Z'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: COMPLETED
                      total_amount:
                        type: integer
                        example: 400
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 6c23d5cc-dbff-3615-8365-31c25a57f10e
                          name:
                            type: string
                            example: 'Magnolia Carroll Garrick Parker'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:17.000000Z'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 16c6e4a3-c5b3-40cf-b6b1-e6282a457025
                          name:
                            type: string
                            example: 'Verla Bechtelar'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 7dd2b9c4-e69b-4184-8d30-cb413d1afc43
                          name:
                            type: string
                            example: 'Emie Sawayn Sr. Uriel Cartwright'
                          balance:
                            type: integer
                            example: 0
                      doctor:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 6c74e26d-b12f-3291-9440-625523e871e3
                          name:
                            type: string
                            example: 'Mr. Vincenzo Dicki DDS Erich Nicolas II'
                          username:
                            type: string
                            example: 'Crawford McLaughlin'
                          phone:
                            type: string
                            example: +1.305.352.6673
                      notes:
                        type: string
                        example: 'Voluptatem consequuntur delectus occaecati.'
                      is_current:
                        type: boolean
                        example: false
                      is_next:
                        type: boolean
                        example: false
                  message:
                    type: string
                    example: 'The Appointment has been updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                patient_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the patients table.'
                  example: null
                  nullable: false
                doctor_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: false
                start_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>now</code>.'
                  example: '2051-10-23'
                  nullable: false
                end_at:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>start_at</code>.'
                  example: '2051-10-22'
                  nullable: false
                total_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: false
                status:
                  type: integer
                  description: ''
                  example: 1
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
    delete:
      summary: 'Delete Specific Appointment'
      operationId: deleteSpecificAppointment
      description: 'This endpoint lets you delete specific appointment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Appointment has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Appointment has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the appointment.'
        example: 019990ce-b877-73a3-89bd-f8a6eba38cf3
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers':
    get:
      summary: 'Show all suppliers in specific company'
      operationId: showAllSuppliersInSpecificCompany
      description: 'This endpoint lets you show all suppliers in specific company'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by name,name_ar.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by name,name_ar.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: a2f23563-79db-411b-9f80-48249d20b37c
                      name: 'Dr. Arch Schuster DVM'
                      name_ar: 'Maeve Sauer'
                      phone: '+15205022553'
                      email: lynch.sonya@hotmail.com
                      notes: 'Dolor natus illo dignissimos totam labore.'
                      company:
                        id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                        name: 'Prof. Jess Nicolas Sr.'
                    -
                      id: 9e8f0453-aa01-4f5e-83c7-50f9e863594b
                      name: 'Melvina Armstrong'
                      name_ar: 'Simeon Jast PhD'
                      phone: +1-740-746-8902
                      email: omari.corwin@gmail.com
                      notes: 'Similique officiis sint tempora blanditiis.'
                      company:
                        id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                        name: 'Prof. Jess Nicolas Sr.'
                    -
                      id: 94872438-b04f-4b0e-9df5-8ff013a4c21b
                      name: 'Berenice Hackett'
                      name_ar: 'Sterling Sipes'
                      phone: '(410) 834-3820'
                      email: ruby37@hotmail.com
                      notes: 'Optio corporis beatae possimus voluptas possimus.'
                      company:
                        id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                        name: 'Prof. Jess Nicolas Sr.'
                    -
                      id: 8873f01f-0e4d-488b-a78b-c6b942cf4431
                      name: 'Allene Watsica'
                      name_ar: 'Adan Ullrich'
                      phone: 580.593.0814
                      email: claude.gutmann@gmail.com
                      notes: 'Quia fuga in recusandae in ipsa.'
                      company:
                        id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                        name: 'Prof. Jess Nicolas Sr.'
                    -
                      id: 7e031d05-76b9-4cc5-bf97-b489cb9be9ff
                      name: 'Alexane Koch IV'
                      name_ar: 'Doris Kshlerin PhD'
                      phone: '+18649428081'
                      email: kessler.sally@hotmail.com
                      notes: 'Dolor soluta porro voluptatibus illo cumque quos consequatur.'
                      company:
                        id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                        name: 'Prof. Jess Nicolas Sr.'
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: a2f23563-79db-411b-9f80-48249d20b37c
                        name: 'Dr. Arch Schuster DVM'
                        name_ar: 'Maeve Sauer'
                        phone: '+15205022553'
                        email: lynch.sonya@hotmail.com
                        notes: 'Dolor natus illo dignissimos totam labore.'
                        company:
                          id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                          name: 'Prof. Jess Nicolas Sr.'
                      -
                        id: 9e8f0453-aa01-4f5e-83c7-50f9e863594b
                        name: 'Melvina Armstrong'
                        name_ar: 'Simeon Jast PhD'
                        phone: +1-740-746-8902
                        email: omari.corwin@gmail.com
                        notes: 'Similique officiis sint tempora blanditiis.'
                        company:
                          id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                          name: 'Prof. Jess Nicolas Sr.'
                      -
                        id: 94872438-b04f-4b0e-9df5-8ff013a4c21b
                        name: 'Berenice Hackett'
                        name_ar: 'Sterling Sipes'
                        phone: '(410) 834-3820'
                        email: ruby37@hotmail.com
                        notes: 'Optio corporis beatae possimus voluptas possimus.'
                        company:
                          id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                          name: 'Prof. Jess Nicolas Sr.'
                      -
                        id: 8873f01f-0e4d-488b-a78b-c6b942cf4431
                        name: 'Allene Watsica'
                        name_ar: 'Adan Ullrich'
                        phone: 580.593.0814
                        email: claude.gutmann@gmail.com
                        notes: 'Quia fuga in recusandae in ipsa.'
                        company:
                          id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                          name: 'Prof. Jess Nicolas Sr.'
                      -
                        id: 7e031d05-76b9-4cc5-bf97-b489cb9be9ff
                        name: 'Alexane Koch IV'
                        name_ar: 'Doris Kshlerin PhD'
                        phone: '+18649428081'
                        email: kessler.sally@hotmail.com
                        notes: 'Dolor soluta porro voluptatibus illo cumque quos consequatur.'
                        company:
                          id: b5693d15-ab1b-48d3-be02-aa0ab0380510
                          name: 'Prof. Jess Nicolas Sr.'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: a2f23563-79db-411b-9f80-48249d20b37c
                        name:
                          type: string
                          example: 'Dr. Arch Schuster DVM'
                        name_ar:
                          type: string
                          example: 'Maeve Sauer'
                        phone:
                          type: string
                          example: '+15205022553'
                        email:
                          type: string
                          example: lynch.sonya@hotmail.com
                        notes:
                          type: string
                          example: 'Dolor natus illo dignissimos totam labore.'
                        company:
                          type: object
                          properties:
                            id:
                              type: string
                              example: b5693d15-ab1b-48d3-be02-aa0ab0380510
                            name:
                              type: string
                              example: 'Prof. Jess Nicolas Sr.'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    post:
      summary: 'Add Supplier'
      operationId: addSupplier
      description: 'This endpoint lets you add supplier'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-cc28-723c-8bb0-62c489913846
                    name: Test
                    name_ar: Test
                    phone: '+963945345844'
                    email: test@gmail.com
                    notes: 'this test test'
                    company:
                      id: ac3b3380-5173-4d1a-91f8-7d57dd855322
                      name: 'Prof. Giles Franecki'
                  message: 'The Supplier has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-cc28-723c-8bb0-62c489913846
                      name:
                        type: string
                        example: Test
                      name_ar:
                        type: string
                        example: Test
                      phone:
                        type: string
                        example: '+963945345844'
                      email:
                        type: string
                        example: test@gmail.com
                      notes:
                        type: string
                        example: 'this test test'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: ac3b3380-5173-4d1a-91f8-7d57dd855322
                          name:
                            type: string
                            example: 'Prof. Giles Franecki'
                  message:
                    type: string
                    example: 'The Supplier has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                name_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: ashly64@example.com
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: v
                  nullable: false
              required:
                - name
                - name_ar
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers/{id}':
    get:
      summary: 'Show Specific Supplier'
      operationId: showSpecificSupplier
      description: 'This endpoint lets you show specific supplier'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0dcbed29-16eb-4fec-b487-bc16c0448ccb
                    name: 'Mr. Rashad Koelpin Jr.'
                    name_ar: 'Prof. Justyn Cartwright'
                    phone: '+18059272648'
                    email: arch.bartell@hotmail.com
                    notes: 'Et veritatis et quam vel deserunt id.'
                    company:
                      id: 25ac4a34-0367-4745-bf20-b97855ce96f9
                      name: 'Elvis Leuschke DVM'
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0dcbed29-16eb-4fec-b487-bc16c0448ccb
                      name:
                        type: string
                        example: 'Mr. Rashad Koelpin Jr.'
                      name_ar:
                        type: string
                        example: 'Prof. Justyn Cartwright'
                      phone:
                        type: string
                        example: '+18059272648'
                      email:
                        type: string
                        example: arch.bartell@hotmail.com
                      notes:
                        type: string
                        example: 'Et veritatis et quam vel deserunt id.'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 25ac4a34-0367-4745-bf20-b97855ce96f9
                          name:
                            type: string
                            example: 'Elvis Leuschke DVM'
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update Specific Supplier'
      operationId: updateSpecificSupplier
      description: 'This endpoint lets you update specific supplier'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 40a671ca-8da0-4433-bbfe-fee18da11585
                    name: Laboratory
                    name_ar: Test
                    phone: '+963945345845'
                    email: test@gmail.com
                    notes: 'this test test'
                    company:
                      id: e17a7971-7e7f-4ec1-bc0d-8393d4bdbf82
                      name: 'Floyd Roob'
                  message: 'The Supplier has been updated successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 40a671ca-8da0-4433-bbfe-fee18da11585
                      name:
                        type: string
                        example: Laboratory
                      name_ar:
                        type: string
                        example: Test
                      phone:
                        type: string
                        example: '+963945345845'
                      email:
                        type: string
                        example: test@gmail.com
                      notes:
                        type: string
                        example: 'this test test'
                      company:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e17a7971-7e7f-4ec1-bc0d-8393d4bdbf82
                          name:
                            type: string
                            example: 'Floyd Roob'
                  message:
                    type: string
                    example: 'The Supplier has been updated successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                name_ar:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: ashly64@example.com
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: v
                  nullable: false
    delete:
      summary: 'Delete Specific Supplier'
      operationId: deleteSpecificSupplier
      description: 'This endpoint lets you delete specific supplier'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Supplier has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Supplier has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the supplier.'
        example: 019990ce-b90e-7115-b06f-be671561204f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/users':
    get:
      summary: 'Show all users for specific company'
      operationId: showAllUsersForSpecificCompany
      description: 'This endpoint lets you show all users in specific company'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[username]'
          description: 'Field to filter items by username.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by username.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[type]'
          description: 'Field to filter items by type.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by type.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by username,first_name,last_name.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by username,first_name,last_name.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by status,type.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by status,type.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: acf17f2d-2162-3566-8b91-863f324db8c0
                      name: 'Kamren Rempel Jarrell Berge'
                      first_name: 'Kamren Rempel'
                      last_name: 'Jarrell Berge'
                      username: 'Geovanni Heidenreich'
                      email: dschaefer@example.com
                      phone: +1.760.966.1577
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 2
                        value: LABORATORY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                    -
                      id: 95f610fd-5238-3041-872b-36fe352af4c2
                      name: 'Cary Casper IV Prof. Brandy Johnson PhD'
                      first_name: 'Cary Casper IV'
                      last_name: 'Prof. Brandy Johnson PhD'
                      username: 'Mr. Rudolph Purdy MD'
                      email: bahringer.blaze@example.com
                      phone: '+1 (775) 330-8669'
                      status:
                        key: 2
                        value: INACTIVE
                      type:
                        key: 3
                        value: DOCTOR
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                    -
                      id: 8ace4c6e-e3a4-33f3-b74e-81e5697d13b0
                      name: 'Alphonso Casper Dr. Al Turcotte PhD'
                      first_name: 'Alphonso Casper'
                      last_name: 'Dr. Al Turcotte PhD'
                      username: 'Elbert Reynolds'
                      email: gleichner.nigel@example.net
                      phone: +1-660-499-8880
                      status:
                        key: 2
                        value: INACTIVE
                      type:
                        key: 2
                        value: LABORATORY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                    -
                      id: 72ce241e-42fa-3691-ba16-41380f781735
                      name: 'Johan Brekke Mrs. Simone Olson'
                      first_name: 'Johan Brekke'
                      last_name: 'Mrs. Simone Olson'
                      username: 'Sadie Casper MD'
                      email: tweissnat@example.com
                      phone: +1-539-367-1660
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 4
                        value: DATA_ENTRY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                    -
                      id: 6417f6e4-14ac-32cb-8d7d-371d1ec57c2e
                      name: 'Noe Friesen Mr. Jesus Farrell'
                      first_name: 'Noe Friesen'
                      last_name: 'Mr. Jesus Farrell'
                      username: 'Dr. Jaren Heller IV'
                      email: chad.rau@example.net
                      phone: +1-571-996-5035
                      status:
                        key: 2
                        value: INACTIVE
                      type:
                        key: 2
                        value: LABORATORY
                      notes: null
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                  meta:
                    pagination:
                      total: 15
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: acf17f2d-2162-3566-8b91-863f324db8c0
                        name: 'Kamren Rempel Jarrell Berge'
                        first_name: 'Kamren Rempel'
                        last_name: 'Jarrell Berge'
                        username: 'Geovanni Heidenreich'
                        email: dschaefer@example.com
                        phone: +1.760.966.1577
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 2
                          value: LABORATORY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                      -
                        id: 95f610fd-5238-3041-872b-36fe352af4c2
                        name: 'Cary Casper IV Prof. Brandy Johnson PhD'
                        first_name: 'Cary Casper IV'
                        last_name: 'Prof. Brandy Johnson PhD'
                        username: 'Mr. Rudolph Purdy MD'
                        email: bahringer.blaze@example.com
                        phone: '+1 (775) 330-8669'
                        status:
                          key: 2
                          value: INACTIVE
                        type:
                          key: 3
                          value: DOCTOR
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                      -
                        id: 8ace4c6e-e3a4-33f3-b74e-81e5697d13b0
                        name: 'Alphonso Casper Dr. Al Turcotte PhD'
                        first_name: 'Alphonso Casper'
                        last_name: 'Dr. Al Turcotte PhD'
                        username: 'Elbert Reynolds'
                        email: gleichner.nigel@example.net
                        phone: +1-660-499-8880
                        status:
                          key: 2
                          value: INACTIVE
                        type:
                          key: 2
                          value: LABORATORY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                      -
                        id: 72ce241e-42fa-3691-ba16-41380f781735
                        name: 'Johan Brekke Mrs. Simone Olson'
                        first_name: 'Johan Brekke'
                        last_name: 'Mrs. Simone Olson'
                        username: 'Sadie Casper MD'
                        email: tweissnat@example.com
                        phone: +1-539-367-1660
                        status:
                          key: 1
                          value: ACTIVE
                        type:
                          key: 4
                          value: DATA_ENTRY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                      -
                        id: 6417f6e4-14ac-32cb-8d7d-371d1ec57c2e
                        name: 'Noe Friesen Mr. Jesus Farrell'
                        first_name: 'Noe Friesen'
                        last_name: 'Mr. Jesus Farrell'
                        username: 'Dr. Jaren Heller IV'
                        email: chad.rau@example.net
                        phone: +1-571-996-5035
                        status:
                          key: 2
                          value: INACTIVE
                        type:
                          key: 2
                          value: LABORATORY
                        notes: null
                        image: 'http://localhost/storage/users/user.png'
                        has_verified_email: true
                        has_verified_phone: true
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: acf17f2d-2162-3566-8b91-863f324db8c0
                        name:
                          type: string
                          example: 'Kamren Rempel Jarrell Berge'
                        first_name:
                          type: string
                          example: 'Kamren Rempel'
                        last_name:
                          type: string
                          example: 'Jarrell Berge'
                        username:
                          type: string
                          example: 'Geovanni Heidenreich'
                        email:
                          type: string
                          example: dschaefer@example.com
                        phone:
                          type: string
                          example: +1.760.966.1577
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 1
                            value:
                              type: string
                              example: ACTIVE
                        type:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 2
                            value:
                              type: string
                              example: LABORATORY
                        notes:
                          type: string
                          example: null
                        image:
                          type: string
                          example: 'http://localhost/storage/users/user.png'
                        has_verified_email:
                          type: boolean
                          example: true
                        has_verified_phone:
                          type: boolean
                          example: true
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 15
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    post:
      summary: 'Add User in specific company'
      operationId: addUserInSpecificCompany
      description: 'This endpoint lets you add user in specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-d2e1-733b-89e0-b305f7f95a9c
                    name: 'Test Test'
                    first_name: Test
                    last_name: Test
                    username: test_test
                    email: test@gmail.com
                    phone: '+963994622354'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 4
                      value: DATA_ENTRY
                    notes: null
                    image: 'http://localhost/storage/users/user.png'
                    has_verified_email: false
                    has_verified_phone: false
                  message: 'The User has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-d2e1-733b-89e0-b305f7f95a9c
                      name:
                        type: string
                        example: 'Test Test'
                      first_name:
                        type: string
                        example: Test
                      last_name:
                        type: string
                        example: Test
                      username:
                        type: string
                        example: test_test
                      email:
                        type: string
                        example: test@gmail.com
                      phone:
                        type: string
                        example: '+963994622354'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: DATA_ENTRY
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/user.png'
                      has_verified_email:
                        type: boolean
                        example: false
                      has_verified_phone:
                        type: boolean
                        example: false
                  message:
                    type: string
                    example: 'The User has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                username:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: rowan.gulgowski@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: 'BNvYgxwmi/#iw/kX'
                  nullable: false
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                type:
                  type: integer
                  description: ''
                  example: 4
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                status:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: w
                  nullable: false
              required:
                - first_name
                - last_name
                - username
                - password
                - type
                - status
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/users/{user_id}':
    get:
      summary: 'Show Specific User'
      operationId: showSpecificUser
      description: 'This endpoint lets you show specific user in specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0aed3c5a-fe6f-3ab5-bfbd-11867c41c106
                    name: "Mr. Vernon Roberts Sr. Prof. Carrie O'Conner DDS"
                    first_name: 'Mr. Vernon Roberts Sr.'
                    last_name: "Prof. Carrie O'Conner DDS"
                    username: 'Ronaldo Hermiston'
                    email: cara07@example.net
                    phone: '+1 (520) 597-1543'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 1
                      value: ADMIN
                    notes: null
                    image: 'http://localhost/storage/users/user.png'
                    has_verified_email: true
                    has_verified_phone: true
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0aed3c5a-fe6f-3ab5-bfbd-11867c41c106
                      name:
                        type: string
                        example: "Mr. Vernon Roberts Sr. Prof. Carrie O'Conner DDS"
                      first_name:
                        type: string
                        example: 'Mr. Vernon Roberts Sr.'
                      last_name:
                        type: string
                        example: "Prof. Carrie O'Conner DDS"
                      username:
                        type: string
                        example: 'Ronaldo Hermiston'
                      email:
                        type: string
                        example: cara07@example.net
                      phone:
                        type: string
                        example: '+1 (520) 597-1543'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ADMIN
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/user.png'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update User in specific company'
      operationId: updateUserInSpecificCompany
      description: 'This endpoint lets you update specific user in specific company'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 9497926d-367e-3179-afba-98560a18d621
                    name: 'Test Test'
                    first_name: Test
                    last_name: test
                    username: test_test
                    email: test@gmail.com
                    phone: '+963994622354'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 4
                      value: DATA_ENTRY
                    notes: null
                    image: 'http://localhost/storage/users/user.png'
                    has_verified_email: true
                    has_verified_phone: true
                  message: 'The User has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 9497926d-367e-3179-afba-98560a18d621
                      name:
                        type: string
                        example: 'Test Test'
                      first_name:
                        type: string
                        example: Test
                      last_name:
                        type: string
                        example: test
                      username:
                        type: string
                        example: test_test
                      email:
                        type: string
                        example: test@gmail.com
                      phone:
                        type: string
                        example: '+963994622354'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 4
                          value:
                            type: string
                            example: DATA_ENTRY
                      notes:
                        type: string
                        example: null
                      image:
                        type: string
                        example: 'http://localhost/storage/users/user.png'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                  message:
                    type: string
                    example: 'The User has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                username:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: rowan.gulgowski@example.com
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: 'BNvYgxwmi/#iw/kX'
                  nullable: false
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
                type:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                status:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: w
                  nullable: false
    delete:
      summary: 'Delete Specific User'
      operationId: deleteSpecificUser
      description: 'This endpoint lets you delete specific user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The User has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The User has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 019990ce-ae94-7379-8c99-96169fc5b566
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/payments':
    get:
      summary: 'Show all payments in specific company'
      operationId: showAllPaymentsInSpecificCompany
      description: 'This endpoint lets you show all payments in specific company'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by first_name,last_name for patient.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by first_name,last_name for patient.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 96ccdc02-ae16-4600-8647-8207bb5dab43
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                        name: 'Dr. Jovanny Kilback Kaleb Reynolds'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: de171931-eb46-44ee-83d2-135858bdafaa
                        name: "Schuyler O'Connell Prof. Jennifer Langworth"
                        balance: 0
                      appointment:
                        id: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                        status:
                          key: 2
                          value: SCHEDULED
                        total_amount: 250
                        paid_amount: 200
                        remaining_amount: 50
                    -
                      id: 6249efa5-26f1-4a67-b9de-f647d48c406f
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 507cfad8-39d1-3c97-8b06-a966da4d31d7
                        name: 'Mrs. Birdie Watsica PhD Kenneth Kub'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                        name: 'Lacey Bode Jimmy Kerluke'
                        balance: 0
                      appointment:
                        id: cbba32d0-dddb-4e54-81d0-d95799a252ec
                        status:
                          key: 2
                          value: SCHEDULED
                        total_amount: 250
                        paid_amount: 200
                        remaining_amount: 50
                    -
                      id: 5db2a673-36b3-475b-9973-47296112d783
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 1697824e-44bc-39d1-a5e3-f15640b093ce
                        name: 'Dr. Zackery Upton Eliza Conn'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3c0e423a-cb82-41d5-b4c1-406ee1f83077
                        name: 'Dr. Hertha Osinski Dr. Keyshawn Breitenberg'
                        balance: 0
                      appointment: null
                    -
                      id: 41a5aa8a-53f3-4296-ab05-2098a221f8eb
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 335e7710-8379-3687-8eed-c4ff244d18b3
                        name: 'Prof. Meghan Abshire Eladio Yost'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: de171931-eb46-44ee-83d2-135858bdafaa
                        name: "Schuyler O'Connell Prof. Jennifer Langworth"
                        balance: 0
                      appointment: null
                    -
                      id: 37566653-699d-4c27-a842-bcdf32747e60
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: b2a0fe85-6cca-3ba0-b8c6-397490dd1eea
                        name: 'Jaylin Erdman Zander Rath'
                      created_at: '2025-09-28T14:50:25.000000Z'
                      patient:
                        id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                        name: 'Lacey Bode Jimmy Kerluke'
                        balance: 0
                      appointment: null
                  meta:
                    pagination:
                      total: 16
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 96ccdc02-ae16-4600-8647-8207bb5dab43
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                          name: 'Dr. Jovanny Kilback Kaleb Reynolds'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: de171931-eb46-44ee-83d2-135858bdafaa
                          name: "Schuyler O'Connell Prof. Jennifer Langworth"
                          balance: 0
                        appointment:
                          id: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                          status:
                            key: 2
                            value: SCHEDULED
                          total_amount: 250
                          paid_amount: 200
                          remaining_amount: 50
                      -
                        id: 6249efa5-26f1-4a67-b9de-f647d48c406f
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 507cfad8-39d1-3c97-8b06-a966da4d31d7
                          name: 'Mrs. Birdie Watsica PhD Kenneth Kub'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                          name: 'Lacey Bode Jimmy Kerluke'
                          balance: 0
                        appointment:
                          id: cbba32d0-dddb-4e54-81d0-d95799a252ec
                          status:
                            key: 2
                            value: SCHEDULED
                          total_amount: 250
                          paid_amount: 200
                          remaining_amount: 50
                      -
                        id: 5db2a673-36b3-475b-9973-47296112d783
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 1697824e-44bc-39d1-a5e3-f15640b093ce
                          name: 'Dr. Zackery Upton Eliza Conn'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3c0e423a-cb82-41d5-b4c1-406ee1f83077
                          name: 'Dr. Hertha Osinski Dr. Keyshawn Breitenberg'
                          balance: 0
                        appointment: null
                      -
                        id: 41a5aa8a-53f3-4296-ab05-2098a221f8eb
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 335e7710-8379-3687-8eed-c4ff244d18b3
                          name: 'Prof. Meghan Abshire Eladio Yost'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: de171931-eb46-44ee-83d2-135858bdafaa
                          name: "Schuyler O'Connell Prof. Jennifer Langworth"
                          balance: 0
                        appointment: null
                      -
                        id: 37566653-699d-4c27-a842-bcdf32747e60
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: b2a0fe85-6cca-3ba0-b8c6-397490dd1eea
                          name: 'Jaylin Erdman Zander Rath'
                        created_at: '2025-09-28T14:50:25.000000Z'
                        patient:
                          id: 3797a20b-9f7e-4562-9940-0d924f3bf954
                          name: 'Lacey Bode Jimmy Kerluke'
                          balance: 0
                        appointment: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 96ccdc02-ae16-4600-8647-8207bb5dab43
                        amount:
                          type: integer
                          example: 100
                        notes:
                          type: string
                          example: 'No thing'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 6877c736-4a31-3fe8-b54e-1b1af0bfa44c
                            name:
                              type: string
                              example: 'Dr. Jovanny Kilback Kaleb Reynolds'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:25.000000Z'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: de171931-eb46-44ee-83d2-135858bdafaa
                            name:
                              type: string
                              example: "Schuyler O'Connell Prof. Jennifer Langworth"
                            balance:
                              type: integer
                              example: 0
                        appointment:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 7cf73ad6-fef6-4bd3-9c89-fc4cb73e4013
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 2
                                value:
                                  type: string
                                  example: SCHEDULED
                            total_amount:
                              type: integer
                              example: 250
                            paid_amount:
                              type: integer
                              example: 200
                            remaining_amount:
                              type: integer
                              example: 50
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 16
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/payments/{id}':
    get:
      summary: 'Show Specific Payment'
      operationId: showSpecificPayment
      description: 'This endpoint lets you show specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2f656f4d-0516-4f19-bfd1-51a300865ad8
                    amount: 100
                    notes: 'No thing'
                    created_by:
                      id: e27ac8d2-781f-342d-ac1e-35a8ac2e5d30
                      name: 'Linnea Schuster Kiley Wiegand'
                    created_at: '2025-09-28T14:50:25.000000Z'
                    patient:
                      id: 72f75dde-b8e7-42f1-adfd-e44f99137093
                      name: 'Dr. Bernie Champlin Mittie Bernier II'
                      balance: 0
                    appointment:
                      id: 106f185b-27e3-4adf-a4ce-faf635455700
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 250
                      paid_amount: 100
                      remaining_amount: 150
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2f656f4d-0516-4f19-bfd1-51a300865ad8
                      amount:
                        type: integer
                        example: 100
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e27ac8d2-781f-342d-ac1e-35a8ac2e5d30
                          name:
                            type: string
                            example: 'Linnea Schuster Kiley Wiegand'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:25.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 72f75dde-b8e7-42f1-adfd-e44f99137093
                          name:
                            type: string
                            example: 'Dr. Bernie Champlin Mittie Bernier II'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 106f185b-27e3-4adf-a4ce-faf635455700
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 5
                              value:
                                type: string
                                example: CANCELLED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 100
                          remaining_amount:
                            type: integer
                            example: 150
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    put:
      summary: 'Update Specific Payment'
      operationId: updateSpecificPayment
      description: 'This endpoint lets you update specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: d14de54c-7f34-4586-be78-46fdb77b7328
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 438fef6b-772e-31e4-a20f-21a1fcad6e7d
                      name: 'Chester Schuppe V Taylor Luettgen'
                    created_at: '2025-09-28T14:50:26.000000Z'
                    patient:
                      id: 12cb7e45-0356-4fdb-b2e8-a06dd487f094
                      name: 'Ms. Pearlie Gusikowski V Rebeka Pfannerstill DVM'
                      balance: 0
                    appointment:
                      id: 9f68e801-6c0f-4287-bded-c8e4d9a77b6a
                      status:
                        key: 5
                        value: CANCELLED
                      total_amount: 250
                      paid_amount: 200
                      remaining_amount: 50
                  message: 'The Payment has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: d14de54c-7f34-4586-be78-46fdb77b7328
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 438fef6b-772e-31e4-a20f-21a1fcad6e7d
                          name:
                            type: string
                            example: 'Chester Schuppe V Taylor Luettgen'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:26.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 12cb7e45-0356-4fdb-b2e8-a06dd487f094
                          name:
                            type: string
                            example: 'Ms. Pearlie Gusikowski V Rebeka Pfannerstill DVM'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 9f68e801-6c0f-4287-bded-c8e4d9a77b6a
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 5
                              value:
                                type: string
                                example: CANCELLED
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 200
                          remaining_amount:
                            type: integer
                            example: 50
                  message:
                    type: string
                    example: 'The Payment has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
    delete:
      summary: 'Delete Specific Payment'
      operationId: deleteSpecificPayment
      description: 'This endpoint lets you delete specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Payment has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Payment has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: id
        description: 'The ID of the payment.'
        example: 019990ce-b8a8-725a-8a61-42797e32200a
        required: true
        schema:
          type: string
  /api/v1:
    get:
      summary: ''
      operationId: getApiV1
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: ''
      tags:
        - Endpoints
  '/api/v1/companies/{company_id}/patients/{patient_id}/notes':
    post:
      summary: 'Add note to specific tooth'
      operationId: addNoteToSpecificTooth
      description: 'This endpoint lets you add note to specific tooth'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-b014-7223-8b3d-5a868bff7ddf
                    patient_id: f0552669-3634-4121-9377-56b1e05aa4b4
                    tooth_number:
                      key: 8
                      value: TOOTH_8
                    tooth_label: 'Upper Right Central Incisor'
                    message: 'This is my first note for this tooth'
                    created_by:
                      id: 6eb3ec84-4cc6-321f-862a-773652fae535
                      name: 'Santa Wolf Steve Homenick'
                    created_at: '2025-09-28T14:50:23.000000Z'
                  message: 'The message has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-b014-7223-8b3d-5a868bff7ddf
                      patient_id:
                        type: string
                        example: f0552669-3634-4121-9377-56b1e05aa4b4
                      tooth_number:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 8
                          value:
                            type: string
                            example: TOOTH_8
                      tooth_label:
                        type: string
                        example: 'Upper Right Central Incisor'
                      message:
                        type: string
                        example: 'This is my first note for this tooth'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 6eb3ec84-4cc6-321f-862a-773652fae535
                          name:
                            type: string
                            example: 'Santa Wolf Steve Homenick'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:23.000000Z'
                  message:
                    type: string
                    example: 'The message has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tooth_number:
                  type: integer
                  description: ''
                  example: 29
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    - 24
                    - 25
                    - 26
                    - 27
                    - 28
                    - 29
                    - 30
                    - 31
                    - 32
                message:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: b
                  nullable: false
              required:
                - message
    get:
      summary: 'Show All Notes to Patient'
      operationId: showAllNotesToPatient
      description: 'This endpoint lets you show all notes'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 019990cd-b5b9-7267-8975-4a07b2145616
                      patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                      tooth_number:
                        key: 8
                        value: TOOTH_8
                      tooth_label: 'Upper Right Central Incisor'
                      message: 'test message'
                      created_by:
                        id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                        name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                      created_at: '2025-09-28T14:50:24.000000Z'
                    -
                      id: 019990cd-b5bd-7096-b054-011b02afaaac
                      patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                      tooth_number:
                        key: 8
                        value: TOOTH_8
                      tooth_label: 'Upper Right Central Incisor'
                      message: 'test message'
                      created_by:
                        id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                        name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                      created_at: '2025-09-28T14:50:24.000000Z'
                    -
                      id: 019990cd-b5c0-721f-93f8-a51f4e5b8647
                      patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                      tooth_number:
                        key: 8
                        value: TOOTH_8
                      tooth_label: 'Upper Right Central Incisor'
                      message: 'test message'
                      created_by:
                        id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                        name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                      created_at: '2025-09-28T14:50:24.000000Z'
                    -
                      id: 019990cd-b5c4-716b-b6c7-ddc19408bb23
                      patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                      tooth_number:
                        key: 8
                        value: TOOTH_8
                      tooth_label: 'Upper Right Central Incisor'
                      message: 'test message'
                      created_by:
                        id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                        name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                      created_at: '2025-09-28T14:50:24.000000Z'
                    -
                      id: 019990cd-b5c9-72b8-9238-b607c72486bc
                      patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                      tooth_number:
                        key: 8
                        value: TOOTH_8
                      tooth_label: 'Upper Right Central Incisor'
                      message: 'test message'
                      created_by:
                        id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                        name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                      created_at: '2025-09-28T14:50:24.000000Z'
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 019990cd-b5b9-7267-8975-4a07b2145616
                        patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          key: 8
                          value: TOOTH_8
                        tooth_label: 'Upper Right Central Incisor'
                        message: 'test message'
                        created_by:
                          id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                          name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at: '2025-09-28T14:50:24.000000Z'
                      -
                        id: 019990cd-b5bd-7096-b054-011b02afaaac
                        patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          key: 8
                          value: TOOTH_8
                        tooth_label: 'Upper Right Central Incisor'
                        message: 'test message'
                        created_by:
                          id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                          name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at: '2025-09-28T14:50:24.000000Z'
                      -
                        id: 019990cd-b5c0-721f-93f8-a51f4e5b8647
                        patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          key: 8
                          value: TOOTH_8
                        tooth_label: 'Upper Right Central Incisor'
                        message: 'test message'
                        created_by:
                          id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                          name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at: '2025-09-28T14:50:24.000000Z'
                      -
                        id: 019990cd-b5c4-716b-b6c7-ddc19408bb23
                        patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          key: 8
                          value: TOOTH_8
                        tooth_label: 'Upper Right Central Incisor'
                        message: 'test message'
                        created_by:
                          id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                          name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at: '2025-09-28T14:50:24.000000Z'
                      -
                        id: 019990cd-b5c9-72b8-9238-b607c72486bc
                        patient_id: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          key: 8
                          value: TOOTH_8
                        tooth_label: 'Upper Right Central Incisor'
                        message: 'test message'
                        created_by:
                          id: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                          name: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at: '2025-09-28T14:50:24.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 019990cd-b5b9-7267-8975-4a07b2145616
                        patient_id:
                          type: string
                          example: c09f991b-afce-4c51-9d3f-5c6e62fc618c
                        tooth_number:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 8
                            value:
                              type: string
                              example: TOOTH_8
                        tooth_label:
                          type: string
                          example: 'Upper Right Central Incisor'
                        message:
                          type: string
                          example: 'test message'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: d5ad262c-2f15-35f8-a0a2-5e2acc8dd2e8
                            name:
                              type: string
                              example: 'Dr. Rollin Cartwright Sr. Ricardo Dach'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:24.000000Z'
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: patient_id
        description: 'The ID of the patient.'
        example: 019990ce-b85d-7346-8ef0-3aadc3375c5a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/patients/{patient_id}/notes/{note_id}':
    put:
      summary: 'Update specific note'
      operationId: updateSpecificNote
      description: 'This endpoint lets you update specific note'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-b26d-736f-af2a-714025cfba5c
                    patient_id: 5f255d59-cf23-4059-a9f1-d65afb18b0ea
                    tooth_number:
                      key: 9
                      value: TOOTH_9
                    tooth_label: 'Upper Left Central Incisor'
                    message: 'تم تعديل الملاحظة'
                    created_by:
                      id: 24a55b2e-d4c6-3ebe-9af5-4e881ed8506a
                      name: 'Patricia Keeling David Hayes'
                    created_at: '2025-09-28T14:50:23.000000Z'
                  message: 'The message has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-b26d-736f-af2a-714025cfba5c
                      patient_id:
                        type: string
                        example: 5f255d59-cf23-4059-a9f1-d65afb18b0ea
                      tooth_number:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 9
                          value:
                            type: string
                            example: TOOTH_9
                      tooth_label:
                        type: string
                        example: 'Upper Left Central Incisor'
                      message:
                        type: string
                        example: 'تم تعديل الملاحظة'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 24a55b2e-d4c6-3ebe-9af5-4e881ed8506a
                          name:
                            type: string
                            example: 'Patricia Keeling David Hayes'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:23.000000Z'
                  message:
                    type: string
                    example: 'The message has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                tooth_number:
                  type: integer
                  description: ''
                  example: 3
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    - 24
                    - 25
                    - 26
                    - 27
                    - 28
                    - 29
                    - 30
                    - 31
                    - 32
                message:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: b
                  nullable: false
    delete:
      summary: 'Delete specific note'
      operationId: deleteSpecificNote
      description: 'This endpoint lets you delete specific note'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The note has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The note has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: patient_id
        description: 'The ID of the patient.'
        example: 019990ce-b85d-7346-8ef0-3aadc3375c5a
        required: true
        schema:
          type: string
      -
        in: path
        name: note_id
        description: 'The ID of the note.'
        example: 019990ce-b865-73aa-ad09-f5e52cde1b70
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/patients/{patient_id}/payments':
    get:
      summary: 'Show all payments for specific patient'
      operationId: showAllPaymentsForSpecificPatient
      description: 'This endpoint lets you show all payments for specific patient'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[amount]'
          description: 'Field to filter items by amount.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by amount.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 6054c0c8-6b50-4f56-82c1-ce864a871863
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: cff6cf80-d40e-361f-8527-4740f3da2b48
                        name: 'Cary Okuneva Estell Wilderman'
                      created_at: '2025-09-28T14:50:21.000000Z'
                      patient:
                        id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                        name: 'Joannie Doyle Camren Jakubowski Jr.'
                        balance: 0
                      appointment:
                        id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                        status:
                          key: 1
                          value: PENDING
                        total_amount: 3000
                        paid_amount: 500
                        remaining_amount: 2500
                    -
                      id: 4f1ca837-d203-4064-bb89-4a00e3323826
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 83dca11b-b07a-31f6-b70b-23b4a211fb2e
                        name: 'Ms. Astrid Hirthe Addie Fahey'
                      created_at: '2025-09-28T14:50:21.000000Z'
                      patient:
                        id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                        name: 'Joannie Doyle Camren Jakubowski Jr.'
                        balance: 0
                      appointment: null
                    -
                      id: 3ff120dc-8eff-49a1-a74b-d0975fcfeebe
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 4070af6b-a87c-3a71-b7f3-71f96823e303
                        name: 'Santa Will Freda Mayer DVM'
                      created_at: '2025-09-28T14:50:21.000000Z'
                      patient:
                        id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                        name: 'Joannie Doyle Camren Jakubowski Jr.'
                        balance: 0
                      appointment: null
                    -
                      id: 1bc04202-6147-4514-b7b6-07697717bdc2
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: d476d575-04a8-3e74-a7e1-b01a42baae36
                        name: 'Daisha Haley Tamia Goldner'
                      created_at: '2025-09-28T14:50:21.000000Z'
                      patient:
                        id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                        name: 'Joannie Doyle Camren Jakubowski Jr.'
                        balance: 0
                      appointment:
                        id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                        status:
                          key: 1
                          value: PENDING
                        total_amount: 3000
                        paid_amount: 500
                        remaining_amount: 2500
                    -
                      id: 0f6ff246-1f95-409b-bd8d-26d4e2cb5564
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 2ac2192e-1c5a-353c-ab5d-521c2cca48ba
                        name: 'Ms. Octavia Weber Prof. Rowan Howell'
                      created_at: '2025-09-28T14:50:21.000000Z'
                      patient:
                        id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                        name: 'Joannie Doyle Camren Jakubowski Jr.'
                        balance: 0
                      appointment:
                        id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                        status:
                          key: 1
                          value: PENDING
                        total_amount: 3000
                        paid_amount: 500
                        remaining_amount: 2500
                  meta:
                    pagination:
                      total: 10
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 6054c0c8-6b50-4f56-82c1-ce864a871863
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: cff6cf80-d40e-361f-8527-4740f3da2b48
                          name: 'Cary Okuneva Estell Wilderman'
                        created_at: '2025-09-28T14:50:21.000000Z'
                        patient:
                          id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                          name: 'Joannie Doyle Camren Jakubowski Jr.'
                          balance: 0
                        appointment:
                          id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                          status:
                            key: 1
                            value: PENDING
                          total_amount: 3000
                          paid_amount: 500
                          remaining_amount: 2500
                      -
                        id: 4f1ca837-d203-4064-bb89-4a00e3323826
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 83dca11b-b07a-31f6-b70b-23b4a211fb2e
                          name: 'Ms. Astrid Hirthe Addie Fahey'
                        created_at: '2025-09-28T14:50:21.000000Z'
                        patient:
                          id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                          name: 'Joannie Doyle Camren Jakubowski Jr.'
                          balance: 0
                        appointment: null
                      -
                        id: 3ff120dc-8eff-49a1-a74b-d0975fcfeebe
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 4070af6b-a87c-3a71-b7f3-71f96823e303
                          name: 'Santa Will Freda Mayer DVM'
                        created_at: '2025-09-28T14:50:21.000000Z'
                        patient:
                          id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                          name: 'Joannie Doyle Camren Jakubowski Jr.'
                          balance: 0
                        appointment: null
                      -
                        id: 1bc04202-6147-4514-b7b6-07697717bdc2
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: d476d575-04a8-3e74-a7e1-b01a42baae36
                          name: 'Daisha Haley Tamia Goldner'
                        created_at: '2025-09-28T14:50:21.000000Z'
                        patient:
                          id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                          name: 'Joannie Doyle Camren Jakubowski Jr.'
                          balance: 0
                        appointment:
                          id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                          status:
                            key: 1
                            value: PENDING
                          total_amount: 3000
                          paid_amount: 500
                          remaining_amount: 2500
                      -
                        id: 0f6ff246-1f95-409b-bd8d-26d4e2cb5564
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 2ac2192e-1c5a-353c-ab5d-521c2cca48ba
                          name: 'Ms. Octavia Weber Prof. Rowan Howell'
                        created_at: '2025-09-28T14:50:21.000000Z'
                        patient:
                          id: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                          name: 'Joannie Doyle Camren Jakubowski Jr.'
                          balance: 0
                        appointment:
                          id: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                          status:
                            key: 1
                            value: PENDING
                          total_amount: 3000
                          paid_amount: 500
                          remaining_amount: 2500
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 6054c0c8-6b50-4f56-82c1-ce864a871863
                        amount:
                          type: integer
                          example: 100
                        notes:
                          type: string
                          example: 'No thing'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: cff6cf80-d40e-361f-8527-4740f3da2b48
                            name:
                              type: string
                              example: 'Cary Okuneva Estell Wilderman'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:21.000000Z'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 03e6bb94-c8e5-408d-b987-3ff0a79e4057
                            name:
                              type: string
                              example: 'Joannie Doyle Camren Jakubowski Jr.'
                            balance:
                              type: integer
                              example: 0
                        appointment:
                          type: object
                          properties:
                            id:
                              type: string
                              example: d50fdbfa-9d21-41f1-b7f7-9c8e3af23ec6
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 1
                                value:
                                  type: string
                                  example: PENDING
                            total_amount:
                              type: integer
                              example: 3000
                            paid_amount:
                              type: integer
                              example: 500
                            remaining_amount:
                              type: integer
                              example: 2500
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 10
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
    post:
      summary: 'Add Payment for specific patient'
      operationId: addPaymentForSpecificPatient
      description: 'This endpoint lets you add payment for specific patient'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-ab81-739a-acae-aace5515a496
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 7b2837ef-678f-3d90-89be-b9a311847c52
                      name: 'Dr. Adolphus Lowe Daphney Cassin'
                    created_at: '2025-09-28T14:50:21.000000Z'
                    patient:
                      id: 9eea7ce4-2338-4cf2-a056-a5b10829d2af
                      name: 'Stefan Gibson Milton Bernier II'
                      balance: 200
                    appointment: null
                  message: 'The Payment has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-ab81-739a-acae-aace5515a496
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 7b2837ef-678f-3d90-89be-b9a311847c52
                          name:
                            type: string
                            example: 'Dr. Adolphus Lowe Daphney Cassin'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:21.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 9eea7ce4-2338-4cf2-a056-a5b10829d2af
                          name:
                            type: string
                            example: 'Stefan Gibson Milton Bernier II'
                          balance:
                            type: integer
                            example: 200
                      appointment:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Payment has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
              required:
                - amount
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: patient_id
        description: 'The ID of the patient.'
        example: 019990ce-b85d-7346-8ef0-3aadc3375c5a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/patients/{patient_id}/payments/{payment_id}':
    get:
      summary: 'Show Specific Payment'
      operationId: showSpecificPayment
      description: 'This endpoint lets you show specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: eb48168d-3aef-45ff-9ee6-2003b5f7937c
                    amount: 100
                    notes: 'No thing'
                    created_by:
                      id: b5c67a61-56bd-344c-9c6e-43c251d9aa2b
                      name: 'Ezekiel McLaughlin Terence Blick'
                    created_at: '2025-09-28T14:50:21.000000Z'
                    patient:
                      id: df46796b-14c7-459e-ba02-bcddbfa28506
                      name: 'Denis Toy Brandi Moore'
                      balance: 0
                    appointment:
                      id: 2bc7cbd7-f94c-4984-b1f8-2f7f65c4f305
                      status:
                        key: 1
                        value: PENDING
                      total_amount: 250
                      paid_amount: 100
                      remaining_amount: 150
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: eb48168d-3aef-45ff-9ee6-2003b5f7937c
                      amount:
                        type: integer
                        example: 100
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: b5c67a61-56bd-344c-9c6e-43c251d9aa2b
                          name:
                            type: string
                            example: 'Ezekiel McLaughlin Terence Blick'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:21.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: df46796b-14c7-459e-ba02-bcddbfa28506
                          name:
                            type: string
                            example: 'Denis Toy Brandi Moore'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 2bc7cbd7-f94c-4984-b1f8-2f7f65c4f305
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: PENDING
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 100
                          remaining_amount:
                            type: integer
                            example: 150
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
    put:
      summary: 'Update Payment for specific patient'
      operationId: updatePaymentForSpecificPatient
      description: 'This endpoint lets you update specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 1a5f0170-a604-4eaf-bd57-b593e6173a03
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: 4ec084b7-b4ec-3644-84c3-0acc7141a390
                      name: 'Prof. Nestor Conroy Estrella Lynch'
                    created_at: '2025-09-28T14:50:21.000000Z'
                    patient:
                      id: e32575a8-6809-4b82-a31a-0434f65c1638
                      name: 'Davin Orn Letha Hudson'
                      balance: 0
                    appointment:
                      id: eb3f9f32-eda0-415e-bdc2-a7f5ce774dda
                      status:
                        key: 1
                        value: PENDING
                      total_amount: 250
                      paid_amount: 200
                      remaining_amount: 50
                  message: 'The Payment has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 1a5f0170-a604-4eaf-bd57-b593e6173a03
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 4ec084b7-b4ec-3644-84c3-0acc7141a390
                          name:
                            type: string
                            example: 'Prof. Nestor Conroy Estrella Lynch'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:21.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e32575a8-6809-4b82-a31a-0434f65c1638
                          name:
                            type: string
                            example: 'Davin Orn Letha Hudson'
                          balance:
                            type: integer
                            example: 0
                      appointment:
                        type: object
                        properties:
                          id:
                            type: string
                            example: eb3f9f32-eda0-415e-bdc2-a7f5ce774dda
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: PENDING
                          total_amount:
                            type: integer
                            example: 250
                          paid_amount:
                            type: integer
                            example: 200
                          remaining_amount:
                            type: integer
                            example: 50
                  message:
                    type: string
                    example: 'The Payment has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
    delete:
      summary: 'Delete Specific Payment'
      operationId: deleteSpecificPayment
      description: 'This endpoint lets you delete specific payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Payment has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Payment has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Patient
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: patient_id
        description: 'The ID of the patient.'
        example: 019990ce-b85d-7346-8ef0-3aadc3375c5a
        required: true
        schema:
          type: string
      -
        in: path
        name: payment_id
        description: 'The ID of the payment.'
        example: 019990ce-b8a8-725a-8a61-42797e32200a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers/{supplier_id}/orders':
    get:
      summary: 'Show all orders for specific supplier'
      operationId: showAllOrdersForSpecificSupplier
      description: 'This endpoint lets you show all orders for specific supplier'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[status]'
          description: 'Field to filter items by status.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by status.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Field to filter items by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[patient_id]'
          description: "Field to filter items by patient id.\n @queryParam filter[compensation_type] string Field to filter items by compensation type."
          example: architecto
          required: false
          schema:
            type: string
            description: "Field to filter items by patient id.\n @queryParam filter[compensation_type] string Field to filter items by compensation type."
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[client_id]'
          description: 'Field to filter items by client id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by client id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[compensation_type]'
          description: 'Field to filter items by compensation type.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by compensation type.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by status,created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by status,created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 6d878c42-edd4-47f6-8fae-c7fc8fddcb4b
                      notes: 'No thing'
                      amount: 100
                      compensation_type:
                        key: 6
                        value: DENTURE
                      tooth_number:
                        key: 12
                        value: TOOTH_12
                      status:
                        key: 4
                        value: CANCELED
                      created_by:
                        id: 624d54b2-8ab1-39de-96d9-333959c7f09c
                        name: 'Tyson Brown MD Esperanza Dickinson'
                      created_at: '2025-09-28T14:50:28.000000Z'
                      patient:
                        id: 6d1afff0-c49f-41be-80e9-ff3d320d2284
                        name: 'Yvette Kilback Ed Cronin'
                        balance: 0
                      supplier: null
                    -
                      id: 49c60bdf-871c-4c9a-9eb4-258e56026342
                      notes: 'No thing'
                      amount: 100
                      compensation_type:
                        key: 8
                        value: ONLAY
                      tooth_number:
                        key: 7
                        value: TOOTH_7
                      status:
                        key: 2
                        value: IN_PROGRESS
                      created_by:
                        id: 72f77c59-d71e-372d-8dbf-6eef9008ada9
                        name: 'Theodora Bernier Dr. Zula Block'
                      created_at: '2025-09-28T14:50:28.000000Z'
                      patient:
                        id: f19ffb19-be3c-4eaa-bd11-5b9abfab2647
                        name: 'Mrs. Angeline Abbott III Kristy McDermott'
                        balance: 0
                      supplier: null
                    -
                      id: 468420b8-a62c-4326-beed-2daa715c1780
                      notes: 'No thing'
                      amount: 100
                      compensation_type:
                        key: 1
                        value: CROWN
                      tooth_number:
                        key: 27
                        value: TOOTH_27
                      status:
                        key: 4
                        value: CANCELED
                      created_by:
                        id: db76c484-e5c8-3adf-b159-5ef52636c3fa
                        name: 'Mr. Jordan Eichmann Sr. Ms. Serena Ziemann'
                      created_at: '2025-09-28T14:50:28.000000Z'
                      patient:
                        id: 11fde6df-cddc-4b9a-8a6d-77f7c4c24c05
                        name: 'Mary Keebler Calista Gottlieb'
                        balance: 0
                      supplier: null
                    -
                      id: 44dc46e7-76f4-40c4-b014-284a945965fa
                      notes: 'No thing'
                      amount: 100
                      compensation_type:
                        key: 7
                        value: INLAY
                      tooth_number:
                        key: 12
                        value: TOOTH_12
                      status:
                        key: 3
                        value: COMPLETED
                      created_by:
                        id: 06258807-0f70-3bf8-8563-52db67ce42db
                        name: 'Dr. Alan Lakin Ismael Kling'
                      created_at: '2025-09-28T14:50:28.000000Z'
                      patient:
                        id: a2578b75-b0c9-4ef0-9256-87438dcef36d
                        name: 'Lonnie Gerhold Lavonne Ortiz'
                        balance: 0
                      supplier: null
                    -
                      id: 1573b85a-6ef4-4ba6-b9e7-61bfb88b53c0
                      notes: 'No thing'
                      amount: 100
                      compensation_type:
                        key: 2
                        value: BRIDGE
                      tooth_number:
                        key: 25
                        value: TOOTH_25
                      status:
                        key: 1
                        value: PENDING
                      created_by:
                        id: fab4505c-039f-3988-a8ee-b8f874583afa
                        name: 'Dr. Emilie Larkin Jazmyne Feeney'
                      created_at: '2025-09-28T14:50:28.000000Z'
                      patient:
                        id: 6d1afff0-c49f-41be-80e9-ff3d320d2284
                        name: 'Yvette Kilback Ed Cronin'
                        balance: 0
                      supplier: null
                  meta:
                    pagination:
                      total: 11
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 6d878c42-edd4-47f6-8fae-c7fc8fddcb4b
                        notes: 'No thing'
                        amount: 100
                        compensation_type:
                          key: 6
                          value: DENTURE
                        tooth_number:
                          key: 12
                          value: TOOTH_12
                        status:
                          key: 4
                          value: CANCELED
                        created_by:
                          id: 624d54b2-8ab1-39de-96d9-333959c7f09c
                          name: 'Tyson Brown MD Esperanza Dickinson'
                        created_at: '2025-09-28T14:50:28.000000Z'
                        patient:
                          id: 6d1afff0-c49f-41be-80e9-ff3d320d2284
                          name: 'Yvette Kilback Ed Cronin'
                          balance: 0
                        supplier: null
                      -
                        id: 49c60bdf-871c-4c9a-9eb4-258e56026342
                        notes: 'No thing'
                        amount: 100
                        compensation_type:
                          key: 8
                          value: ONLAY
                        tooth_number:
                          key: 7
                          value: TOOTH_7
                        status:
                          key: 2
                          value: IN_PROGRESS
                        created_by:
                          id: 72f77c59-d71e-372d-8dbf-6eef9008ada9
                          name: 'Theodora Bernier Dr. Zula Block'
                        created_at: '2025-09-28T14:50:28.000000Z'
                        patient:
                          id: f19ffb19-be3c-4eaa-bd11-5b9abfab2647
                          name: 'Mrs. Angeline Abbott III Kristy McDermott'
                          balance: 0
                        supplier: null
                      -
                        id: 468420b8-a62c-4326-beed-2daa715c1780
                        notes: 'No thing'
                        amount: 100
                        compensation_type:
                          key: 1
                          value: CROWN
                        tooth_number:
                          key: 27
                          value: TOOTH_27
                        status:
                          key: 4
                          value: CANCELED
                        created_by:
                          id: db76c484-e5c8-3adf-b159-5ef52636c3fa
                          name: 'Mr. Jordan Eichmann Sr. Ms. Serena Ziemann'
                        created_at: '2025-09-28T14:50:28.000000Z'
                        patient:
                          id: 11fde6df-cddc-4b9a-8a6d-77f7c4c24c05
                          name: 'Mary Keebler Calista Gottlieb'
                          balance: 0
                        supplier: null
                      -
                        id: 44dc46e7-76f4-40c4-b014-284a945965fa
                        notes: 'No thing'
                        amount: 100
                        compensation_type:
                          key: 7
                          value: INLAY
                        tooth_number:
                          key: 12
                          value: TOOTH_12
                        status:
                          key: 3
                          value: COMPLETED
                        created_by:
                          id: 06258807-0f70-3bf8-8563-52db67ce42db
                          name: 'Dr. Alan Lakin Ismael Kling'
                        created_at: '2025-09-28T14:50:28.000000Z'
                        patient:
                          id: a2578b75-b0c9-4ef0-9256-87438dcef36d
                          name: 'Lonnie Gerhold Lavonne Ortiz'
                          balance: 0
                        supplier: null
                      -
                        id: 1573b85a-6ef4-4ba6-b9e7-61bfb88b53c0
                        notes: 'No thing'
                        amount: 100
                        compensation_type:
                          key: 2
                          value: BRIDGE
                        tooth_number:
                          key: 25
                          value: TOOTH_25
                        status:
                          key: 1
                          value: PENDING
                        created_by:
                          id: fab4505c-039f-3988-a8ee-b8f874583afa
                          name: 'Dr. Emilie Larkin Jazmyne Feeney'
                        created_at: '2025-09-28T14:50:28.000000Z'
                        patient:
                          id: 6d1afff0-c49f-41be-80e9-ff3d320d2284
                          name: 'Yvette Kilback Ed Cronin'
                          balance: 0
                        supplier: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 6d878c42-edd4-47f6-8fae-c7fc8fddcb4b
                        notes:
                          type: string
                          example: 'No thing'
                        amount:
                          type: integer
                          example: 100
                        compensation_type:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 6
                            value:
                              type: string
                              example: DENTURE
                        tooth_number:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 12
                            value:
                              type: string
                              example: TOOTH_12
                        status:
                          type: object
                          properties:
                            key:
                              type: integer
                              example: 4
                            value:
                              type: string
                              example: CANCELED
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 624d54b2-8ab1-39de-96d9-333959c7f09c
                            name:
                              type: string
                              example: 'Tyson Brown MD Esperanza Dickinson'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:28.000000Z'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 6d1afff0-c49f-41be-80e9-ff3d320d2284
                            name:
                              type: string
                              example: 'Yvette Kilback Ed Cronin'
                            balance:
                              type: integer
                              example: 0
                        supplier:
                          type: string
                          example: null
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 11
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
    post:
      summary: 'Add Order for specific Supplier'
      operationId: addOrderForSpecificSupplier
      description: 'This endpoint lets you add order for specific Supplier'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-c6c5-72d9-8152-37d49db451a6
                    notes: 'this order'
                    amount: 50
                    compensation_type:
                      key: 1
                      value: CROWN
                    tooth_number:
                      key: 11
                      value: TOOTH_11
                    status:
                      key: 1
                      value: PENDING
                    created_by:
                      id: 58d159f7-7c9c-3044-bd8c-bd271fea803f
                      name: 'Oran McCullough Bennett Shanahan'
                    created_at: '2025-09-28T14:50:28.000000Z'
                    patient:
                      id: 131428ec-9c92-4c67-9fd4-0c2264c8d8df
                      name: 'Shemar Rodriguez Lucius Hansen'
                      balance: 0
                    supplier: null
                  message: 'The Order has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-c6c5-72d9-8152-37d49db451a6
                      notes:
                        type: string
                        example: 'this order'
                      amount:
                        type: integer
                        example: 50
                      compensation_type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: CROWN
                      tooth_number:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 11
                          value:
                            type: string
                            example: TOOTH_11
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: PENDING
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 58d159f7-7c9c-3044-bd8c-bd271fea803f
                          name:
                            type: string
                            example: 'Oran McCullough Bennett Shanahan'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:28.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 131428ec-9c92-4c67-9fd4-0c2264c8d8df
                          name:
                            type: string
                            example: 'Shemar Rodriguez Lucius Hansen'
                          balance:
                            type: integer
                            example: 0
                      supplier:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Order has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                patient_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the patients table.'
                  example: architecto
                  nullable: false
                tooth_number:
                  type: integer
                  description: ''
                  example: 27
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    - 24
                    - 25
                    - 26
                    - 27
                    - 28
                    - 29
                    - 30
                    - 31
                    - 32
                compensation_type:
                  type: integer
                  description: ''
                  example: 7
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: false
              required:
                - patient_id
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: supplier_id
        description: 'The ID of the supplier.'
        example: 019990ce-b90e-7115-b06f-be671561204f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers/{supplier_id}/orders/{order_id}':
    get:
      summary: 'Show Specific Order'
      operationId: showSpecificOrder
      description: 'This endpoint lets you show specific Order'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 814bf008-72bd-496a-96cf-cd5f6b44f3f4
                    notes: 'No thing'
                    amount: 100
                    compensation_type:
                      key: 2
                      value: BRIDGE
                    tooth_number:
                      key: 11
                      value: TOOTH_11
                    status:
                      key: 2
                      value: IN_PROGRESS
                    created_by:
                      id: d8b421a1-14ea-3ef4-acd1-2395e85c9a47
                      name: 'Jamaal Marvin Ms. Melyna Prosacco'
                    created_at: '2025-09-28T14:50:28.000000Z'
                    patient:
                      id: 817201a1-4941-4324-bd12-2f06b6d7c36b
                      name: 'Carolina Gislason Jacklyn Conn'
                      balance: 0
                    supplier: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 814bf008-72bd-496a-96cf-cd5f6b44f3f4
                      notes:
                        type: string
                        example: 'No thing'
                      amount:
                        type: integer
                        example: 100
                      compensation_type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: BRIDGE
                      tooth_number:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 11
                          value:
                            type: string
                            example: TOOTH_11
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 2
                          value:
                            type: string
                            example: IN_PROGRESS
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d8b421a1-14ea-3ef4-acd1-2395e85c9a47
                          name:
                            type: string
                            example: 'Jamaal Marvin Ms. Melyna Prosacco'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:28.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 817201a1-4941-4324-bd12-2f06b6d7c36b
                          name:
                            type: string
                            example: 'Carolina Gislason Jacklyn Conn'
                          balance:
                            type: integer
                            example: 0
                      supplier:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
    put:
      summary: 'Update Order for specific Supplier'
      operationId: updateOrderForSpecificSupplier
      description: 'This endpoint lets you update specific order'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 65fcbbd4-11ae-4ae9-ae4c-83e308b0b2a0
                    notes: 'new notes'
                    amount: 100
                    compensation_type:
                      key: 3
                      value: FILLING
                    tooth_number:
                      key: 10
                      value: TOOTH_10
                    status:
                      key: 3
                      value: COMPLETED
                    created_by:
                      id: a6ce3429-bb74-34b7-9418-914c282667ef
                      name: 'Laila Stiedemann Everette Grimes'
                    created_at: '2025-09-28T14:50:28.000000Z'
                    patient:
                      id: d7362de4-4952-4ea1-a1ad-2361bd7335ab
                      name: 'Ashtyn Abshire Aryanna Ortiz III'
                      balance: 0
                    supplier: null
                  message: 'The Order has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 65fcbbd4-11ae-4ae9-ae4c-83e308b0b2a0
                      notes:
                        type: string
                        example: 'new notes'
                      amount:
                        type: integer
                        example: 100
                      compensation_type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 3
                          value:
                            type: string
                            example: FILLING
                      tooth_number:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 10
                          value:
                            type: string
                            example: TOOTH_10
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 3
                          value:
                            type: string
                            example: COMPLETED
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: a6ce3429-bb74-34b7-9418-914c282667ef
                          name:
                            type: string
                            example: 'Laila Stiedemann Everette Grimes'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:28.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: d7362de4-4952-4ea1-a1ad-2361bd7335ab
                          name:
                            type: string
                            example: 'Ashtyn Abshire Aryanna Ortiz III'
                          balance:
                            type: integer
                            example: 0
                      supplier:
                        type: string
                        example: null
                  message:
                    type: string
                    example: 'The Order has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                patient_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the patients table.'
                  example: null
                  nullable: false
                tooth_number:
                  type: integer
                  description: ''
                  example: 5
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    - 24
                    - 25
                    - 26
                    - 27
                    - 28
                    - 29
                    - 30
                    - 31
                    - 32
                compensation_type:
                  type: integer
                  description: ''
                  example: 2
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
                status:
                  type: integer
                  description: ''
                  example: 4
                  nullable: false
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
    delete:
      summary: 'Delete Specific Order'
      operationId: deleteSpecificOrder
      description: 'This endpoint lets you delete specific Order'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Order has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Order has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: supplier_id
        description: 'The ID of the supplier.'
        example: 019990ce-b90e-7115-b06f-be671561204f
        required: true
        schema:
          type: string
      -
        in: path
        name: order_id
        description: 'The ID of the order.'
        example: 019990ce-b917-726f-8b71-7d784f1f42da
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers/{supplier_id}/orders/{order_id}/payments':
    get:
      summary: 'Show all payments for specific order'
      operationId: showAllPaymentsForSpecificOrder
      description: 'This endpoint lets you show all payments for specific order'
      parameters:
        -
          in: query
          name: page
          description: "Field to select page. Defaults to '1'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select page. Defaults to '1'."
            example: 16
            nullable: false
        -
          in: query
          name: per_page
          description: "Field to select items per page. Defaults to '15'."
          example: 16
          required: false
          schema:
            type: integer
            description: "Field to select items per page. Defaults to '15'."
            example: 16
            nullable: false
        -
          in: query
          name: 'filter[id]'
          description: 'Field to filter items by id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[patient_id]'
          description: 'Field to filter items by patient id.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by patient id.'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[order_id]'
          description: 'Field to filter items by order id .'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by order id .'
            example: architecto
            nullable: false
        -
          in: query
          name: 'filter[search]'
          description: 'Field to filter items by first_name,last_name for patient.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to filter items by first_name,last_name for patient.'
            example: architecto
            nullable: false
        -
          in: query
          name: sort
          description: 'Field to sort items by created_at.'
          example: architecto
          required: false
          schema:
            type: string
            description: 'Field to sort items by created_at.'
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: b2995be9-7b90-40b1-8761-5be1afe68964
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 3adfe80e-97f9-3158-bcf5-fefd2f46757e
                        name: 'Corbin Hodkiewicz Laila Wilderman Jr.'
                      created_at: '2025-09-28T14:50:30.000000Z'
                      patient:
                        id: 20190061-4a5d-45da-9c5d-50b662493806
                        name: 'Shany Fisher Sr. Germaine Gorczany MD'
                        balance: 0
                      order:
                        id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                        amount: 300
                        status:
                          key: 3
                          value: COMPLETED
                    -
                      id: 9977b02f-84eb-427e-ba83-b30fae9d56ad
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 64add064-3070-30cb-848a-2de6a5231a7c
                        name: "Elmer Spinka Chad O'Connell"
                      created_at: '2025-09-28T14:50:29.000000Z'
                      patient:
                        id: 20190061-4a5d-45da-9c5d-50b662493806
                        name: 'Shany Fisher Sr. Germaine Gorczany MD'
                        balance: 0
                      order:
                        id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                        amount: 300
                        status:
                          key: 3
                          value: COMPLETED
                    -
                      id: 94db9cc4-e606-493b-bed5-4336f7aa3128
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 170ae42b-cbf5-32ff-b18f-40b5402bc639
                        name: 'Emery Dietrich Dr. Marilou Rosenbaum'
                      created_at: '2025-09-28T14:50:29.000000Z'
                      patient:
                        id: 20190061-4a5d-45da-9c5d-50b662493806
                        name: 'Shany Fisher Sr. Germaine Gorczany MD'
                        balance: 0
                      order:
                        id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                        amount: 300
                        status:
                          key: 3
                          value: COMPLETED
                    -
                      id: 780f9927-df00-4995-a497-56d0d8a07c08
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: a44954da-8222-37fa-837b-e3fcf572b24e
                        name: 'Cierra Kulas Furman Balistreri MD'
                      created_at: '2025-09-28T14:50:30.000000Z'
                      patient:
                        id: 20190061-4a5d-45da-9c5d-50b662493806
                        name: 'Shany Fisher Sr. Germaine Gorczany MD'
                        balance: 0
                      order:
                        id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                        amount: 300
                        status:
                          key: 3
                          value: COMPLETED
                    -
                      id: 235b0ce1-c066-4b96-beda-9a734581cd20
                      amount: 100
                      notes: 'No thing'
                      created_by:
                        id: 22b71fe9-a811-31b9-b578-357c03c14d54
                        name: 'Finn Bailey Prof. Tressa Lockman'
                      created_at: '2025-09-28T14:50:29.000000Z'
                      patient:
                        id: 20190061-4a5d-45da-9c5d-50b662493806
                        name: 'Shany Fisher Sr. Germaine Gorczany MD'
                        balance: 0
                      order:
                        id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                        amount: 300
                        status:
                          key: 3
                          value: COMPLETED
                  meta:
                    pagination:
                      total: 10
                      per_page: 5
                      count: 5
                      current_page: 2
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: b2995be9-7b90-40b1-8761-5be1afe68964
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 3adfe80e-97f9-3158-bcf5-fefd2f46757e
                          name: 'Corbin Hodkiewicz Laila Wilderman Jr.'
                        created_at: '2025-09-28T14:50:30.000000Z'
                        patient:
                          id: 20190061-4a5d-45da-9c5d-50b662493806
                          name: 'Shany Fisher Sr. Germaine Gorczany MD'
                          balance: 0
                        order:
                          id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                          amount: 300
                          status:
                            key: 3
                            value: COMPLETED
                      -
                        id: 9977b02f-84eb-427e-ba83-b30fae9d56ad
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 64add064-3070-30cb-848a-2de6a5231a7c
                          name: "Elmer Spinka Chad O'Connell"
                        created_at: '2025-09-28T14:50:29.000000Z'
                        patient:
                          id: 20190061-4a5d-45da-9c5d-50b662493806
                          name: 'Shany Fisher Sr. Germaine Gorczany MD'
                          balance: 0
                        order:
                          id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                          amount: 300
                          status:
                            key: 3
                            value: COMPLETED
                      -
                        id: 94db9cc4-e606-493b-bed5-4336f7aa3128
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 170ae42b-cbf5-32ff-b18f-40b5402bc639
                          name: 'Emery Dietrich Dr. Marilou Rosenbaum'
                        created_at: '2025-09-28T14:50:29.000000Z'
                        patient:
                          id: 20190061-4a5d-45da-9c5d-50b662493806
                          name: 'Shany Fisher Sr. Germaine Gorczany MD'
                          balance: 0
                        order:
                          id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                          amount: 300
                          status:
                            key: 3
                            value: COMPLETED
                      -
                        id: 780f9927-df00-4995-a497-56d0d8a07c08
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: a44954da-8222-37fa-837b-e3fcf572b24e
                          name: 'Cierra Kulas Furman Balistreri MD'
                        created_at: '2025-09-28T14:50:30.000000Z'
                        patient:
                          id: 20190061-4a5d-45da-9c5d-50b662493806
                          name: 'Shany Fisher Sr. Germaine Gorczany MD'
                          balance: 0
                        order:
                          id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                          amount: 300
                          status:
                            key: 3
                            value: COMPLETED
                      -
                        id: 235b0ce1-c066-4b96-beda-9a734581cd20
                        amount: 100
                        notes: 'No thing'
                        created_by:
                          id: 22b71fe9-a811-31b9-b578-357c03c14d54
                          name: 'Finn Bailey Prof. Tressa Lockman'
                        created_at: '2025-09-28T14:50:29.000000Z'
                        patient:
                          id: 20190061-4a5d-45da-9c5d-50b662493806
                          name: 'Shany Fisher Sr. Germaine Gorczany MD'
                          balance: 0
                        order:
                          id: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                          amount: 300
                          status:
                            key: 3
                            value: COMPLETED
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: b2995be9-7b90-40b1-8761-5be1afe68964
                        amount:
                          type: integer
                          example: 100
                        notes:
                          type: string
                          example: 'No thing'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 3adfe80e-97f9-3158-bcf5-fefd2f46757e
                            name:
                              type: string
                              example: 'Corbin Hodkiewicz Laila Wilderman Jr.'
                        created_at:
                          type: string
                          example: '2025-09-28T14:50:30.000000Z'
                        patient:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 20190061-4a5d-45da-9c5d-50b662493806
                            name:
                              type: string
                              example: 'Shany Fisher Sr. Germaine Gorczany MD'
                            balance:
                              type: integer
                              example: 0
                        order:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 978d5ba8-4107-45b0-843a-0ad935b6d33d
                            amount:
                              type: integer
                              example: 300
                            status:
                              type: object
                              properties:
                                key:
                                  type: integer
                                  example: 3
                                value:
                                  type: string
                                  example: COMPLETED
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 10
                          per_page:
                            type: integer
                            example: 5
                          count:
                            type: integer
                            example: 5
                          current_page:
                            type: integer
                            example: 2
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
    post:
      summary: 'Add Payment for specific Order'
      operationId: addPaymentForSpecificOrder
      description: 'This endpoint lets you add payment for specific order'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 019990cd-c8c9-7297-9b1a-835275161af7
                    amount: -200
                    notes: 'this payment'
                    created_by:
                      id: 37d1f0b2-342f-3ee0-bf22-78bf961a4d0c
                      name: 'Derrick Dietrich V Alia Lehner'
                    created_at: '2025-09-28T14:50:29.000000Z'
                    patient:
                      id: 65bdd1d2-3f2b-4ab8-a183-12bae8cdb5ef
                      name: 'Timothy Tromp Simone Botsford III'
                      balance: 0
                    order:
                      id: 96d344e2-7436-4103-ac26-c7f70e96f749
                      amount: 100
                      status:
                        key: 2
                        value: IN_PROGRESS
                  message: 'The Payment has been added successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 019990cd-c8c9-7297-9b1a-835275161af7
                      amount:
                        type: integer
                        example: -200
                      notes:
                        type: string
                        example: 'this payment'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 37d1f0b2-342f-3ee0-bf22-78bf961a4d0c
                          name:
                            type: string
                            example: 'Derrick Dietrich V Alia Lehner'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:29.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 65bdd1d2-3f2b-4ab8-a183-12bae8cdb5ef
                          name:
                            type: string
                            example: 'Timothy Tromp Simone Botsford III'
                          balance:
                            type: integer
                            example: 0
                      order:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 96d344e2-7436-4103-ac26-c7f70e96f749
                          amount:
                            type: integer
                            example: 100
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 2
                              value:
                                type: string
                                example: IN_PROGRESS
                  message:
                    type: string
                    example: 'The Payment has been added successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
              required:
                - amount
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: supplier_id
        description: 'The ID of the supplier.'
        example: 019990ce-b90e-7115-b06f-be671561204f
        required: true
        schema:
          type: string
      -
        in: path
        name: order_id
        description: 'The ID of the order.'
        example: 019990ce-b917-726f-8b71-7d784f1f42da
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_id}/suppliers/{supplier_id}/orders/{order_id}/payments/{payment_id}':
    put:
      summary: 'Update Payment for specific Order'
      operationId: updatePaymentForSpecificOrder
      description: 'This endpoint lets you update specific order'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: db3c1d8a-2230-49a9-a91f-dce33dc1d901
                    amount: 200
                    notes: 'No thing'
                    created_by:
                      id: e4bda6f3-f4fb-327c-99b3-839ed385588d
                      name: 'Madaline Balistreri Novella Wilkinson'
                    created_at: '2025-09-28T14:50:29.000000Z'
                    patient:
                      id: c0b6d86b-9878-4b96-97ee-42ed21e218c4
                      name: 'Dr. Cloyd Leuschke Ms. Retha Schaden DDS'
                      balance: 0
                    order:
                      id: 85202c5d-2c5a-46d3-8066-fc3c65ccdbf0
                      amount: 100
                      status:
                        key: 2
                        value: IN_PROGRESS
                  message: 'The Payment has been updated successfully.'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: db3c1d8a-2230-49a9-a91f-dce33dc1d901
                      amount:
                        type: integer
                        example: 200
                      notes:
                        type: string
                        example: 'No thing'
                      created_by:
                        type: object
                        properties:
                          id:
                            type: string
                            example: e4bda6f3-f4fb-327c-99b3-839ed385588d
                          name:
                            type: string
                            example: 'Madaline Balistreri Novella Wilkinson'
                      created_at:
                        type: string
                        example: '2025-09-28T14:50:29.000000Z'
                      patient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: c0b6d86b-9878-4b96-97ee-42ed21e218c4
                          name:
                            type: string
                            example: 'Dr. Cloyd Leuschke Ms. Retha Schaden DDS'
                          balance:
                            type: integer
                            example: 0
                      order:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 85202c5d-2c5a-46d3-8066-fc3c65ccdbf0
                          amount:
                            type: integer
                            example: 100
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 2
                              value:
                                type: string
                                example: IN_PROGRESS
                  message:
                    type: string
                    example: 'The Payment has been updated successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
                  nullable: false
                notes:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: false
    delete:
      summary: 'Delete Specific Payment'
      operationId: deleteSpecificPayment
      description: 'This endpoint lets you delete specific Payment'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The Payment has been deleted successfully.'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'The Payment has been deleted successfully.'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - Suppliers
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 019990ce-ad68-7013-9041-d91c2b1b369d
        required: true
        schema:
          type: string
      -
        in: path
        name: supplier_id
        description: 'The ID of the supplier.'
        example: 019990ce-b90e-7115-b06f-be671561204f
        required: true
        schema:
          type: string
      -
        in: path
        name: order_id
        description: 'The ID of the order.'
        example: 019990ce-b917-726f-8b71-7d784f1f42da
        required: true
        schema:
          type: string
      -
        in: path
        name: payment_id
        description: 'The ID of the payment.'
        example: 019990ce-b8a8-725a-8a61-42797e32200a
        required: true
        schema:
          type: string
  /api/v1/auth/verify-otp/phone:
    post:
      summary: 'Validate phone'
      operationId: validatePhone
      description: 'This endpoint lets you verify phone using otp code'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    token_type: bearer
                    access_token: GgVmkkl6M2BpNP1VEGTa8OskVWOycxm78fppXvVP
                    access_expires_at: '2025-10-28T14:50:15.000000Z'
                    profile:
                      id: 27d6c9bb-953d-3406-b075-2990a5572355
                      name: 'Prof. Carmen Reinger Sr. Dr. Laron Jerde Jr.'
                      username: 'Cecil Doyle'
                      email: hyatt.valentine@example.com
                      phone: '+963994635477'
                      status:
                        key: 1
                        value: ACTIVE
                      type:
                        key: 1
                        value: ADMIN
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles: null
                      permissions: null
                      company: null
                  message: 'Phone verified successfully'
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      token_type:
                        type: string
                        example: bearer
                      access_token:
                        type: string
                        example: GgVmkkl6M2BpNP1VEGTa8OskVWOycxm78fppXvVP
                      access_expires_at:
                        type: string
                        example: '2025-10-28T14:50:15.000000Z'
                      profile:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 27d6c9bb-953d-3406-b075-2990a5572355
                          name:
                            type: string
                            example: 'Prof. Carmen Reinger Sr. Dr. Laron Jerde Jr.'
                          username:
                            type: string
                            example: 'Cecil Doyle'
                          email:
                            type: string
                            example: hyatt.valentine@example.com
                          phone:
                            type: string
                            example: '+963994635477'
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: ACTIVE
                          type:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 1
                              value:
                                type: string
                                example: ADMIN
                          image:
                            type: string
                            example: 'http://localhost/storage/users/user.png'
                          has_verified_email:
                            type: boolean
                            example: true
                          has_verified_phone:
                            type: boolean
                            example: true
                          roles:
                            type: string
                            example: null
                          permissions:
                            type: string
                            example: null
                          company:
                            type: string
                            example: null
                  message:
                    type: string
                    example: 'Phone verified successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                otp_code:
                  type: string
                  description: ''
                  example: architecto
                  nullable: false
              required:
                - otp_code
  /api/v1/auth/profile:
    get:
      summary: "Show user's profile"
      operationId: showUsersProfile
      description: "This endpoint lets you show user's authenticated profile"
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 9bc245ec-2aaa-4c28-a301-95d779757251
                    name: 'Test Test'
                    username: test_test
                    email: test1@gmail.com
                    phone: '+9639487222'
                    status:
                      key: 1
                      value: ACTIVE
                    type:
                      key: 1
                      value: ADMIN
                    image: 'http://localhost/storage/users/user.png'
                    has_verified_email: true
                    has_verified_phone: true
                    roles: null
                    permissions: null
                    company: null
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 9bc245ec-2aaa-4c28-a301-95d779757251
                      name:
                        type: string
                        example: 'Test Test'
                      username:
                        type: string
                        example: test_test
                      email:
                        type: string
                        example: test1@gmail.com
                      phone:
                        type: string
                        example: '+9639487222'
                      status:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ACTIVE
                      type:
                        type: object
                        properties:
                          key:
                            type: integer
                            example: 1
                          value:
                            type: string
                            example: ADMIN
                      image:
                        type: string
                        example: 'http://localhost/storage/users/user.png'
                      has_verified_email:
                        type: boolean
                        example: true
                      has_verified_phone:
                        type: boolean
                        example: true
                      roles:
                        type: string
                        example: null
                      permissions:
                        type: string
                        example: null
                      company:
                        type: string
                        example: null
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
  /api/v1/auth/login:
    post:
      summary: Login
      operationId: login
      description: 'This endpoint lets you log in with specific user'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    token_type: bearer
                    access_token: 0Kz9l7TB5swFgDnM6Sr1lAbagYKarhA4CxTmS6Pm
                    access_expires_at: '2025-10-28T14:50:14.000000Z'
                    profile:
                      id: b917d463-a99d-35da-b7df-af477f88a598
                      name: 'Pink Ondricka I Ray Bartell'
                      username: root
                      email: rashawn80@example.org
                      phone: +1-564-707-9814
                      status:
                        key: 2
                        value: INACTIVE
                      type:
                        key: 4
                        value: DATA_ENTRY
                      image: 'http://localhost/storage/users/user.png'
                      has_verified_email: true
                      has_verified_phone: true
                      roles:
                        -
                          id: 019990cd-8f1e-72b2-89da-c95dd143d4af
                          name: ADMINISTRATOR
                          description: 'Accusantium dolorem maxime ea at corrupti.'
                      permissions:
                        -
                          name: INDEX_USER
                      company:
                        id: 2937b37b-8b00-4f08-b205-839a26bae6f0
                        name: "Lilla O'Keefe"
                  message: success
                  status_code: 200
                properties:
                  data:
                    type: object
                    properties:
                      token_type:
                        type: string
                        example: bearer
                      access_token:
                        type: string
                        example: 0Kz9l7TB5swFgDnM6Sr1lAbagYKarhA4CxTmS6Pm
                      access_expires_at:
                        type: string
                        example: '2025-10-28T14:50:14.000000Z'
                      profile:
                        type: object
                        properties:
                          id:
                            type: string
                            example: b917d463-a99d-35da-b7df-af477f88a598
                          name:
                            type: string
                            example: 'Pink Ondricka I Ray Bartell'
                          username:
                            type: string
                            example: root
                          email:
                            type: string
                            example: rashawn80@example.org
                          phone:
                            type: string
                            example: +1-564-707-9814
                          status:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 2
                              value:
                                type: string
                                example: INACTIVE
                          type:
                            type: object
                            properties:
                              key:
                                type: integer
                                example: 4
                              value:
                                type: string
                                example: DATA_ENTRY
                          image:
                            type: string
                            example: 'http://localhost/storage/users/user.png'
                          has_verified_email:
                            type: boolean
                            example: true
                          has_verified_phone:
                            type: boolean
                            example: true
                          roles:
                            type: array
                            example:
                              -
                                id: 019990cd-8f1e-72b2-89da-c95dd143d4af
                                name: ADMINISTRATOR
                                description: 'Accusantium dolorem maxime ea at corrupti.'
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  example: 019990cd-8f1e-72b2-89da-c95dd143d4af
                                name:
                                  type: string
                                  example: ADMINISTRATOR
                                description:
                                  type: string
                                  example: 'Accusantium dolorem maxime ea at corrupti.'
                          permissions:
                            type: array
                            example:
                              -
                                name: INDEX_USER
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                  example: INDEX_USER
                          company:
                            type: object
                            properties:
                              id:
                                type: string
                                example: 2937b37b-8b00-4f08-b205-839a26bae6f0
                              name:
                                type: string
                                example: "Lilla O'Keefe"
                  message:
                    type: string
                    example: success
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: ']|{+-0pBNvYg'
                  nullable: false
                udid:
                  type: string
                  description: ''
                  example: architecto
                  nullable: false
                fcm_token:
                  type: string
                  description: 'This field is required when <code>udid</code> is present.'
                  example: null
                  nullable: false
              required:
                - username
                - password
      security: []
  /api/v1/auth/logout:
    get:
      summary: Logout
      operationId: logout
      description: 'This endpoint lets you log out'
      parameters:
        -
          in: query
          name: token
          description: "User's token."
          example: architecto
          required: true
          schema:
            type: string
            description: "User's token."
            example: architecto
            nullable: false
        -
          in: query
          name: udid
          description: "User's device udid."
          example: architecto
          required: false
          schema:
            type: string
            description: "User's device udid."
            example: architecto
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Successfully logged out'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'Successfully logged out'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                udid:
                  type: string
                  description: ''
                  example: null
                  nullable: false
  /api/v1/auth/request-forget-password:
    post:
      summary: 'Request forget password'
      operationId: requestForgetPassword
      description: 'This endpoint lets you update request forget password OTP'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Password reset Code sent successfully'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'Password reset Code sent successfully'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: 'The <code>phone</code> of an existing record in the users table.'
                  example: architecto
                  nullable: false
              required:
                - phone
      security: []
  /api/v1/auth/forget-password:
    post:
      summary: 'Forget password'
      operationId: forgetPassword
      description: 'This endpoint lets you update user password with OTP verification'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Password reset successful'
                  status_code: 200
                properties:
                  message:
                    type: string
                    example: 'Password reset successful'
                  status_code:
                    type: integer
                    example: 200
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: 'The <code>phone</code> of an existing record in the users table.'
                  example: null
                  nullable: false
                otp_code:
                  type: string
                  description: 'Must be 6 digits.'
                  example: '569775'
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: ']|{+-0pBNvYg'
                  nullable: false
              required:
                - otp_code
                - password
      security: []
