openapi: 3.0.3
info:
title: 'SmartGate Estate Management App API Documentation'
description: 'Estate Management API'
version: 1.0.0
servers:
-
url: 'https://admin.smartgate.africa'
tags:
-
name: Endpoints
description: ''
paths:
/api/v1/estate-list:
get:
summary: ''
operationId: getApiV1EstateList
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/estate-list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/estate-list could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident/signin:
post:
summary: 'Resident and Security: authenticate resident andsecurity user.'
operationId: residentAndSecurityAuthenticateResidentAndsecurityUser
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
/api/v1/resident/login:
post:
summary: 'Resident: authenticate resident user.'
operationId: residentAuthenticateResidentUser
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
/api/v1/resident/profile:
get:
summary: 'Resident: resident profile.'
operationId: residentResidentProfile
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/profile could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/profile could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident/add-estate:
post:
summary: ''
operationId: postApiV1ResidentAddEstate
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: 'The id of an existing record in the estates table.'
example: consequatur
nullable: false
required:
- estate_id
security: []
/api/v1/resident/update-profile:
post:
summary: 'Resident: Update Profile'
operationId: residentUpdateProfile
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
estate_id:
type: string
description: ''
example: null
nullable: false
firstname:
type: string
description: ''
example: null
nullable: false
lastname:
type: string
description: ''
example: null
nullable: false
othername:
type: string
description: ''
example: null
nullable: false
phone_number:
type: string
description: ''
example: null
nullable: false
address:
type: string
description: ''
example: null
nullable: false
house_no:
type: string
description: ''
example: null
nullable: false
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
image:
type: string
format: binary
description: 'Must be a file. Must be an image. Must not be greater than 2048 kilobytes.'
nullable: false
security: []
/api/v1/resident/generate-access-code:
post:
summary: 'Resident: Generate access code.'
operationId: residentGenerateAccessCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
visitor:
type: string
description: ''
example: consequatur
nullable: false
no_of_visitors:
type: number
description: ''
example: 11613.31890586
nullable: false
estate_id:
type: string
description: 'The id of an existing record in the estates table.'
example: consequatur
nullable: false
access_type:
type: string
description: ''
example: one-time
nullable: false
enum:
- one-time
- event
- extended
check_in:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s.'
example: '2025-11-19 00:39:48'
nullable: false
check_out:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s. Must be a date after check_in.'
example: '2106-12-18'
nullable: false
required:
- visitor
- no_of_visitors
- estate_id
- access_type
- check_in
- check_out
security: []
/api/v1/resident/generate-access-code-for-artisan:
post:
summary: 'Resident: Generate access code for artisan.'
operationId: residentGenerateAccessCodeForArtisan
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: 'The id of an existing record in the estates table.'
example: consequatur
nullable: false
check_in:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s.'
example: '2025-11-19 00:39:48'
nullable: false
check_out:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s. Must be a date after check_in.'
example: '2106-12-18'
nullable: false
job_id:
type: string
description: 'The id of an existing record in the artisan_job_histories table.'
example: consequatur
nullable: false
no_of_visitors:
type: number
description: ''
example: 11613.31890586
nullable: false
required:
- estate_id
- check_in
- check_out
- job_id
security: []
/api/v1/resident/get-access-code:
get:
summary: 'All: verify access code.'
operationId: allVerifyAccessCode
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/get-access-code could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/get-access-code could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_code:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- access_code
- estate_id
security: []
/api/v1/resident/all-access-codes:
get:
summary: 'Resident: get access codes by residents.'
operationId: residentGetAccessCodesByResidents
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/all-access-codes could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/all-access-codes could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: ''
example: consequatur
nullable: false
status:
type: string
description: ''
example: expired
nullable: false
enum:
- active
- expired
required:
- estate_id
- status
security: []
/api/v1/resident/emergency-contact:
get:
summary: 'Emergency contact:list contact'
operationId: emergencyContactlistContact
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/emergency-contact could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/emergency-contact could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- estate_id
security: []
'/api/v1/resident/update-access-code/{id}':
put:
summary: 'Resident: update access code detail.'
operationId: residentUpdateAccessCodeDetail
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
visitor_name:
type: string
description: ''
example: consequatur
nullable: false
comment:
type: string
description: ''
example: consequatur
nullable: false
no_of_visitors:
type: number
description: ''
example: 11613.31890586
nullable: false
estate_id:
type: number
description: ''
example: 11613.31890586
nullable: false
status:
type: string
description: ''
example: checked-in
nullable: false
enum:
- pending
- block-entry
- block-exit
- checked-in
- checked-out
- over-stayed
- expired
type:
type: string
description: ''
example: extended
nullable: false
enum:
- one-time
- event
- extended
set_check_in:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s.'
example: '2025-11-19 00:39:48'
nullable: false
set_check_out:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s. Must be a date after check_in.'
example: '2096-05-21'
nullable: false
security: []
parameters:
-
in: path
name: id
description: 'The ID of the update access code.'
example: consequatur
required: true
schema:
type: string
/api/v1/resident/delete-access-code:
delete:
summary: 'All: verify access code.'
operationId: allVerifyAccessCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_code:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- access_code
- estate_id
security: []
/api/v1/resident/request-job:
post:
summary: 'Resident: Hire an artisan, send a job request (idempotent).'
operationId: residentHireAnArtisanSendAJobRequestidempotent
description: "This method is idempotent based on a unique combination of:\n- resident_id\n- artisan_id\n- estate_id\n- job_id (job_category_id)\n- description\n- preferred_time\n\nIf a job request with the same parameters already exists and is still pending,\nit will not create a duplicate."
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
job_category_id:
type: string
description: ''
example: consequatur
nullable: false
preferred_time:
type: string
description: 'Must be a valid date in the format Y-m-d H:i:s.'
example: '2025-11-19 00:39:48'
nullable: false
images:
type: array
description: 'Must be a file. Must not be greater than 5048 kilobytes.'
items:
type: string
format: binary
artisan_id:
type: integer
description: 'The id of an existing record in the estate_artisans table.'
example: 17
nullable: false
required:
- estate_id
- description
- job_category_id
- preferred_time
- artisan_id
security: []
'/api/v1/resident/change-status/{jobId}':
post:
summary: ''
operationId: postApiV1ResidentChangeStatusJobId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
job_id:
type: integer
description: 'The id of an existing record in the artisan_job_histories table.'
example: 17
nullable: false
status:
type: string
description: ''
example: rejected
nullable: false
enum:
- accepted
- rejected
- completed
required:
- job_id
- status
security: []
parameters:
-
in: path
name: jobId
description: ''
example: consequatur
required: true
schema:
type: string
/api/v1/resident/rate-job:
post:
summary: 'Resident: Rate an artisan work.'
operationId: residentRateAnArtisanWork
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
rate:
type: number
description: 'Must be at least 1. Must not be greater than 5.'
example: 5
nullable: false
job_id:
type: integer
description: 'The id of an existing record in the artisan_job_histories table.'
example: 17
nullable: false
comment:
type: string
description: ''
example: consequatur
nullable: true
required:
- rate
- job_id
security: []
'/api/v1/resident/billing/payment-cycle/{estate_id}':
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentCycleEstate_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payment-cycle/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payment-cycle/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: estate_id
description: 'The ID of the estate.'
example: consequatur
required: true
schema:
type: string
'/api/v1/resident/billing/dues-owed/{estate_id}':
get:
summary: ''
operationId: getApiV1ResidentBillingDuesOwedEstate_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/dues-owed/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/dues-owed/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: estate_id
description: 'The ID of the estate.'
example: consequatur
required: true
schema:
type: string
'/api/v1/resident/billing/dues-pending/{estate_id}':
get:
summary: ''
operationId: getApiV1ResidentBillingDuesPendingEstate_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/dues-pending/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/dues-pending/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: estate_id
description: 'The ID of the estate.'
example: consequatur
required: true
schema:
type: string
'/api/v1/resident/billing/payment-stats/{estate_id}':
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentStatsEstate_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payment-stats/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payment-stats/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: estate_id
description: 'The ID of the estate.'
example: consequatur
required: true
schema:
type: string
'/api/v1/resident/billing/get-payment-cycles/{estate_id}':
get:
summary: ''
operationId: getApiV1ResidentBillingGetPaymentCyclesEstate_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/get-payment-cycles/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/get-payment-cycles/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: estate_id
description: 'The ID of the estate.'
example: consequatur
required: true
schema:
type: string
/api/v1/resident/billing/active:
get:
summary: 'Return active cycle + coverage + blocking + next unpaid + history'
operationId: returnActiveCycle+Coverage+Blocking+NextUnpaid+History
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/active could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/active could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident/billing/quote:
post:
summary: 'Quote: months -> amount + the exact FIFO obligations to be covered'
operationId: quoteMonthsAmount+TheExactFIFOObligationsToBeCovered
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
/api/v1/resident/billing/pay/init:
post:
summary: ''
operationId: postApiV1ResidentBillingPayInit
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
months:
type: integer
description: 'Must be at least 1.'
example: 73
nullable: false
required:
- months
security: []
/api/v1/resident/billing/payments:
get:
summary: 'Payment history (paginated)'
operationId: paymentHistorypaginated
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payments could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payments could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident/billing/payments/monthly-dues:
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentsMonthlyDues
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payments/monthly-dues could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payments/monthly-dues could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident/billing/payments/paystack/callback:
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentsPaystackCallback
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payments/paystack/callback could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payments/paystack/callback could not be found.'
tags:
- Endpoints
security: []
'/api/v1/resident/billing/payments/details/{ref}':
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentsDetailsRef
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payments/details/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payments/details/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: ref
description: ''
example: consequatur
required: true
schema:
type: string
'/api/v1/resident/billing/payments/download/receipt/{ref}':
get:
summary: ''
operationId: getApiV1ResidentBillingPaymentsDownloadReceiptRef
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident/billing/payments/download/receipt/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident/billing/payments/download/receipt/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: ref
description: ''
example: consequatur
required: true
schema:
type: string
/api/v1/security/verify-access-code:
get:
summary: 'All: verify access code.'
operationId: allVerifyAccessCode
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/security/verify-access-code could not be found.'
properties:
message:
type: string
example: 'The route api/v1/security/verify-access-code could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_code:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- access_code
- estate_id
security: []
/api/v1/security/authenticate-access-code:
post:
summary: 'Security: Authenticate access code.'
operationId: securityAuthenticateAccessCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_code:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: string
description: ''
example: consequatur
nullable: false
no_of_visitors_allowed:
type: number
description: ''
example: 11613.31890586
nullable: true
required:
- access_code
- estate_id
security: []
/api/v1/security/checout-visitor:
post:
summary: 'Security: Checkout access Code.'
operationId: securityCheckoutAccessCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_code:
type: string
description: ''
example: consequatur
nullable: false
no_of_visitors_out:
type: string
description: ''
example: null
nullable: true
required:
- access_code
security: []
/api/v1/approve-artisan:
post:
summary: 'Admin: Admin approve an Artisan.'
operationId: adminAdminApproveAnArtisan
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
artisan_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- artisan_id
security: []
/api/v1/artisan/signin:
post:
summary: 'Artisan: Sign in a artisan user by verifying their email and returning associated estate.'
operationId: artisanSignInAArtisanUserByVerifyingTheirEmailAndReturningAssociatedEstate
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
required:
- email
security: []
/api/v1/artisan/login:
post:
summary: 'Artisan: authenticate artisan user.'
operationId: artisanAuthenticateArtisanUser
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
password:
type: string
description: ''
example: consequatur
nullable: false
required:
- email
- password
security: []
/api/v1/artisan/verify-artisan-email:
post:
summary: 'Check if an email already exists as an artisan.'
operationId: checkIfAnEmailAlreadyExistsAsAnArtisan
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
required:
- email
security: []
/api/v1/artisan/validate-registration:
post:
summary: ''
operationId: postApiV1ArtisanValidateRegistration
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: ''
example: consequatur
nullable: false
name:
type: string
description: ''
example: consequatur
nullable: false
phone_number:
type: string
description: ''
example: consequatur
nullable: false
email:
type: string
description: 'Must be a valid email address.'
example: carolyne.luettgen@example.org
nullable: false
state_id:
type: string
description: ''
example: consequatur
nullable: false
address:
type: string
description: ''
example: consequatur
nullable: false
category_ids:
type: object
description: ''
example: []
nullable: false
properties: { }
required:
- title
- name
- phone_number
- email
- state_id
- address
- category_ids
security: []
/api/v1/artisan/register:
post:
summary: 'Artisan: Register an Artisan.'
operationId: artisanRegisterAnArtisan
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
title:
type: string
description: ''
example: consequatur
nullable: false
name:
type: string
description: ''
example: consequatur
nullable: false
phone_number:
type: string
description: ''
example: consequatur
nullable: false
email:
type: string
description: 'Must be a valid email address.'
example: carolyne.luettgen@example.org
nullable: false
state_id:
type: string
description: ''
example: consequatur
nullable: false
address:
type: string
description: ''
example: consequatur
nullable: false
category_ids:
type: object
description: ''
example: []
nullable: false
properties: { }
estates:
type: array
description: 'The id of an existing record in the estates table.'
example:
- 17
items:
type: integer
image:
type: string
format: binary
description: 'Must be an image. Must not be greater than 2048 kilobytes.'
nullable: true
required:
- title
- name
- phone_number
- email
- state_id
- address
- category_ids
security: []
/api/v1/artisan/list:
get:
summary: 'Artisan: Get list of artisans'
operationId: artisanGetListOfArtisans
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/list could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: integer
description: ''
example: 17
nullable: false
status:
type: string
description: ''
example: estate-verified
nullable: false
enum:
- approved
- estate-verified
- smartgate-verified
search_value:
type: string
description: ''
example: consequatur
nullable: true
category:
type: string
description: ''
example: consequatur
nullable: true
required:
- estate_id
- status
security: []
'/api/v1/artisan/getArtisanById/{artisan_id}':
get:
summary: 'Artisan: Get artisan By Id'
operationId: artisanGetArtisanById
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/getArtisanById/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/getArtisanById/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: artisan_id
description: 'The ID of the artisan.'
example: consequatur
required: true
schema:
type: string
/api/v1/artisan/category:
get:
summary: 'Artisan Job categories.'
operationId: artisanJobCategories
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/category could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/category could not be found.'
tags:
- Endpoints
security: []
/api/v1/artisan/list-by-category:
get:
summary: 'Artisan: Get list of artisans by category and by estate'
operationId: artisanGetListOfArtisansByCategoryAndByEstate
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/list-by-category could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/list-by-category could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: ''
example: consequatur
nullable: false
status:
type: string
description: ''
example: consequatur
nullable: false
job_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- estate_id
- status
- job_id
security: []
/api/v1/artisan/artisan-projects:
post:
summary: 'Artisan Project: Create a new artisan project'
operationId: artisanProjectCreateANewArtisanProject
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
attachment:
type: string
format: binary
description: 'Must be a file.'
nullable: true
artisan_id:
type: integer
description: 'The id of an existing record in the estate_artisans table.'
example: 17
nullable: false
required:
- description
- artisan_id
security: []
/api/v1/artisan/artisan-projects/artisan-projects:
post:
summary: 'Artisan Project: Create a new artisan project'
operationId: artisanProjectCreateANewArtisanProject
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
attachment:
type: string
format: binary
description: 'Must be a file.'
nullable: true
artisan_id:
type: integer
description: 'The id of an existing record in the estate_artisans table.'
example: 17
nullable: false
required:
- description
- artisan_id
security: []
get:
summary: 'Artisan Project: Get all artisan projects'
operationId: artisanProjectGetAllArtisanProjects
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/artisan-projects/artisan-projects could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/artisan-projects/artisan-projects could not be found.'
tags:
- Endpoints
security: []
'/api/v1/artisan/artisan-projects/artisan-projects/{id}':
put:
summary: 'Artisan Project: Update an artisan project'
operationId: artisanProjectUpdateAnArtisanProject
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
attachment:
type: string
format: binary
description: 'Must be a file.'
nullable: true
artisan_id:
type: integer
description: 'The id of an existing record in the artisans table.'
example: 17
nullable: false
security: []
delete:
summary: 'Artisan Project: Delete an artisan project'
operationId: artisanProjectDeleteAnArtisanProject
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the artisan project.'
example: consequatur
required: true
schema:
type: string
'/api/v1/artisan/artisan-projects/artisan-projects/by-artisan/{artisan_id}':
get:
summary: 'Artisan Project: Get all projects by artisan ID'
operationId: artisanProjectGetAllProjectsByArtisanID
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/artisan-projects/artisan-projects/by-artisan/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/artisan-projects/artisan-projects/by-artisan/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: artisan_id
description: 'The ID of the artisan.'
example: consequatur
required: true
schema:
type: string
/api/v1/artisan/artisan-jobs:
get:
summary: ''
operationId: getApiV1ArtisanArtisanJobs
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/artisan-jobs could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/artisan-jobs could not be found.'
tags:
- Endpoints
security: []
'/api/v1/artisan/artisan-jobs/details/{jobId}':
get:
summary: ''
operationId: getApiV1ArtisanArtisanJobsDetailsJobId
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/artisan-jobs/details/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/artisan-jobs/details/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: jobId
description: ''
example: consequatur
required: true
schema:
type: string
'/api/v1/artisan/artisan-jobs/change-status/{jobId}':
post:
summary: ''
operationId: postApiV1ArtisanArtisanJobsChangeStatusJobId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
job_id:
type: integer
description: 'The id of an existing record in the artisan_job_histories table.'
example: 17
nullable: false
status:
type: string
description: ''
example: accepted
nullable: false
enum:
- accepted
- rejected
- completed
required:
- job_id
- status
security: []
parameters:
-
in: path
name: jobId
description: ''
example: consequatur
required: true
schema:
type: string
/api/v1/artisan/artisan-reviews:
get:
summary: ''
operationId: getApiV1ArtisanArtisanReviews
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/artisan-reviews could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/artisan-reviews could not be found.'
tags:
- Endpoints
security: []
/api/v1/artisan/profile:
get:
summary: 'Artisan: get Artisan Profile'
operationId: artisanGetArtisanProfile
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/profile could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/profile could not be found.'
tags:
- Endpoints
security: []
/api/v1/artisan/update-profile:
post:
summary: 'Update Artisan Profile.'
operationId: updateArtisanProfile
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
title:
type: string
description: ''
example: consequatur
nullable: false
name:
type: string
description: ''
example: consequatur
nullable: false
email:
type: string
description: ''
example: null
nullable: false
phone_number:
type: string
description: ''
example: null
nullable: false
state_id:
type: integer
description: ''
example: 17
nullable: false
location_id:
type: integer
description: ''
example: 17
nullable: false
address:
type: string
description: ''
example: consequatur
nullable: false
password:
type: string
description: 'Must be at least 6 characters.'
example: '[2UZ5ij-e/dl4'
nullable: false
image:
type: string
format: binary
description: 'Must be a file. Must be an image. Must not be greater than 2048 kilobytes.'
nullable: false
estate_id:
type: object
description: 'The id of an existing record in the estates table.'
example: null
nullable: true
properties: { }
job_id:
type: object
description: ''
example: null
nullable: true
properties: { }
security: []
/api/v1/artisan/update-availability:
put:
summary: ''
operationId: putApiV1ArtisanUpdateAvailability
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
availability:
type: string
description: ''
example: available
nullable: false
enum:
- available
- not-available
required:
- availability
security: []
/api/v1/artisan/request-verification:
post:
summary: 'Artisan: Request Resident Admin verification.'
operationId: artisanRequestResidentAdminVerification
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- estate_id
security: []
/api/v1/artisan/job-approval:
post:
summary: 'Artisan: Accept or Reject Job.'
operationId: artisanAcceptOrRejectJob
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
job_id:
type: string
description: ''
example: consequatur
nullable: false
status:
type: string
description: ''
example: accept
nullable: false
enum:
- accept
- decline
comment:
type: string
description: ''
example: null
nullable: true
required:
- job_id
- status
security: []
'/api/v1/artisan/get-access-code-by-id/{id}':
get:
summary: 'Get access code detail by ID.'
operationId: getAccessCodeDetailByID
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/artisan/get-access-code-by-id/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/artisan/get-access-code-by-id/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the get access code by id.'
example: consequatur
required: true
schema:
type: string
/api/v1/item-categories:
get:
summary: 'Item Category: List all item categories'
operationId: itemCategoryListAllItemCategories
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/item-categories could not be found.'
properties:
message:
type: string
example: 'The route api/v1/item-categories could not be found.'
tags:
- Endpoints
security: []
post:
summary: 'Item Category: Create a new item category'
operationId: itemCategoryCreateANewItemCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
required:
- description
security: []
'/api/v1/item-categories/{id}':
get:
summary: 'Item Category: Get a single item category by ID'
operationId: itemCategoryGetASingleItemCategoryByID
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/item-categories/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/item-categories/consequatur could not be found.'
tags:
- Endpoints
security: []
put:
summary: 'Item Category: Update an item category'
operationId: itemCategoryUpdateAnItemCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
security: []
delete:
summary: 'Item Category: Delete an item category'
operationId: itemCategoryDeleteAnItemCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the item category.'
example: consequatur
required: true
schema:
type: string
/api/v1/declutter/list:
get:
summary: 'Declutter: Get list of declutters by estate, status and category'
operationId: declutterGetListOfDecluttersByEstateStatusAndCategory
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/declutter/list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/declutter/list could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: number
description: ''
example: 11613.31890586
nullable: false
search_value:
type: string
description: ''
example: consequatur
nullable: true
status:
type: string
description: ''
example: available
nullable: false
enum:
- all
- draft
- available
- sold
category_id:
type: array
description: 'expects array of category IDs.'
example:
- 11613.31890586
items:
type: number
required:
- estate_id
- status
security: []
/api/v1/declutter/my-list:
get:
summary: 'Declutter: Get individual list for user resident'
operationId: declutterGetIndividualListForUserResident
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/declutter/my-list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/declutter/my-list could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: ''
example: sold
nullable: false
enum:
- all
- draft
- available
- sold
category_id:
type: string
description: ''
example: consequatur
nullable: true
search_value:
type: string
description: 'e.g. "1,2,3".'
example: consequatur
nullable: true
required:
- status
security: []
/api/v1/declutter/get-by-id:
get:
summary: 'Declutter: Get declutter by id'
operationId: declutterGetDeclutterById
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/declutter/get-by-id could not be found.'
properties:
message:
type: string
example: 'The route api/v1/declutter/get-by-id could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ''
example: consequatur
nullable: false
required:
- id
security: []
/api/v1/declutter/create:
post:
summary: 'Declutter: Create Item'
operationId: declutterCreateItem
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
name:
type: string
description: ''
example: consequatur
nullable: false
category_id:
type: string
description: ''
example: consequatur
nullable: false
status:
type: string
description: 'comma-separated or array.'
example: null
nullable: true
estate_id:
type: string
description: 'The id of an existing record in the estates table.'
example: consequatur
nullable: false
description:
type: string
description: ''
example: consequatur
nullable: false
condition:
type: string
description: ''
example: Very-Good
nullable: false
enum:
- Good
- Very-Good
- Excellent
- Brand-New
currency:
type: string
description: ''
example: consequatur
nullable: false
price:
type: number
description: ''
example: 11613.31890586
nullable: false
pictures:
type: array
description: 'Must be a file. Must not be greater than 5048 kilobytes.'
items:
type: string
format: binary
required:
- name
- category_id
- estate_id
- description
- condition
- currency
- price
security: []
'/api/v1/declutter/update/{id}':
put:
summary: 'Declutter: Update Item, publish, mark as sold etc'
operationId: declutterUpdateItemPublishMarkAsSoldEtc
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
name:
type: string
description: ''
example: null
nullable: false
category_id:
type: string
description: ''
example: null
nullable: false
estate_id:
type: string
description: ''
example: null
nullable: false
description:
type: string
description: ''
example: null
nullable: false
condition:
type: string
description: ''
example: Good
nullable: false
enum:
- Good
- Very-Good
- Excellent
- Brand-New
currency:
type: string
description: ''
example: null
nullable: false
price:
type: number
description: ''
example: 11613.31890586
nullable: false
pictures:
type: array
description: 'Must be a file. Must not be greater than 10048 kilobytes.'
items:
type: string
format: binary
security: []
parameters:
-
in: path
name: id
description: 'The ID of the update.'
example: consequatur
required: true
schema:
type: string
/api/v1/declutter/delete:
delete:
summary: 'Declutter: Delete Item'
operationId: declutterDeleteItem
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ''
example: consequatur
nullable: false
required:
- id
security: []
/api/v1/job/job-request-list:
get:
summary: 'Resident: Job request lists.'
operationId: residentJobRequestLists
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/job/job-request-list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/job/job-request-list could not be found.'
tags:
- Endpoints
security: []
'/api/v1/job/get-job-by-id/{id}':
get:
summary: 'Job: Get Job By ID.'
operationId: jobGetJobByID
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/job/get-job-by-id/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/job/get-job-by-id/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the get job by id.'
example: consequatur
required: true
schema:
type: string
'/api/v1/job/mark-job-completed/{id}':
post:
summary: ''
operationId: postApiV1JobMarkJobCompletedId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the mark job completed.'
example: consequatur
required: true
schema:
type: string
/api/v1/job/artisan-ra-approval:
post:
summary: 'Resident Admin: approve an Artisan.'
operationId: residentAdminApproveAnArtisan
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ''
example: consequatur
nullable: false
comment:
type: string
description: ''
example: null
nullable: true
approval_type:
type: string
description: ''
example: null
nullable: true
required:
- id
security: []
/api/v1/job/jobs:
get:
summary: 'Artisan Jobs.'
operationId: artisanJobs
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/job/jobs could not be found.'
properties:
message:
type: string
example: 'The route api/v1/job/jobs could not be found.'
tags:
- Endpoints
security: []
/api/v1/job/categories:
get:
summary: 'Artisan Job categories.'
operationId: artisanJobCategories
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/job/categories could not be found.'
properties:
message:
type: string
example: 'The route api/v1/job/categories could not be found.'
tags:
- Endpoints
security: []
/api/v1/job/upsert-job:
post:
summary: 'Admin -> Artisan: Create or Update artisan Job.'
operationId: adminArtisanCreateOrUpdateArtisanJob
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: ''
example: consequatur
nullable: false
category_id:
type: integer
description: 'The id of an existing record in the job_categories table.'
example: 17
nullable: false
required:
- description
security: []
/api/v1/job/upsert-job-category:
post:
summary: 'Admin -> Artisan: Create or Update artisan Job category.'
operationId: adminArtisanCreateOrUpdateArtisanJobCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: ''
example: consequatur
nullable: false
required:
- description
security: []
/api/v1/job/delete-job:
delete:
summary: 'Admin -> Artisan: delete job.'
operationId: adminArtisanDeleteJob
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
job_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- job_id
security: []
/api/v1/job/delete-job-category:
delete:
summary: 'Admin -> Artisan: delete job category.'
operationId: adminArtisanDeleteJobCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
category_id:
type: string
description: ''
example: consequatur
nullable: false
required:
- category_id
security: []
/api/v1/notice-boards:
post:
summary: 'Notice Board: Create a new notice'
operationId: noticeBoardCreateANewNotice
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
information:
type: string
description: ''
example: consequatur
nullable: false
title:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
status:
type: string
description: ''
example: important
nullable: false
enum:
- active
- important
- inactive
required:
- information
- title
- estate_id
- status
security: []
'/api/v1/notice-boards/{id}':
put:
summary: 'Notice Board: Update a notice'
operationId: noticeBoardUpdateANotice
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: ''
example: consequatur
nullable: false
information:
type: string
description: ''
example: consequatur
nullable: false
status:
type: string
description: "'estate_id' => 'required|integer|exists:estates,id',."
example: consequatur
nullable: false
required:
- title
- information
- status
security: []
delete:
summary: 'Notice Board: Delete a notice'
operationId: noticeBoardDeleteANotice
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the notice board.'
example: consequatur
required: true
schema:
type: string
/api/v1/notice-boards/list:
get:
summary: 'Notice Board: Get list of all notices'
operationId: noticeBoardGetListOfAllNotices
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/notice-boards/list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/notice-boards/list could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: number
description: 'The id of an existing record in the estates table.'
example: 11613.31890586
nullable: false
status:
type: string
description: ''
example: inactive
nullable: false
enum:
- all
- active
- important
- inactive
required:
- estate_id
- status
security: []
/api/v1/activity-log:
get:
summary: ''
operationId: getApiV1ActivityLog
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/activity-log could not be found.'
properties:
message:
type: string
example: 'The route api/v1/activity-log could not be found.'
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
estate_id:
type: number
description: 'The id of an existing record in the estates table.'
example: 11613.31890586
nullable: false
security: []
/api/v1/key-spot-categories:
post:
summary: 'Key Spot: Create a new key spot category'
operationId: keySpotCreateANewKeySpotCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
required:
- description
security: []
get:
summary: 'Key Spot: Get list of all key spot categories'
operationId: keySpotGetListOfAllKeySpotCategories
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/key-spot-categories could not be found.'
properties:
message:
type: string
example: 'The route api/v1/key-spot-categories could not be found.'
tags:
- Endpoints
security: []
'/api/v1/key-spot-categories/{id}':
put:
summary: 'Key Spot: Update a key spot category'
operationId: keySpotUpdateAKeySpotCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
required:
- description
security: []
delete:
summary: 'Key Spot: Delete a key spot category'
operationId: keySpotDeleteAKeySpotCategory
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the key spot category.'
example: consequatur
required: true
schema:
type: string
/api/v1/key-spots:
post:
summary: 'Key Spot: Create a new key spot'
operationId: keySpotCreateANewKeySpot
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
name:
type: string
description: ''
example: consequatur
nullable: false
address:
type: string
description: ''
example: consequatur
nullable: false
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
opening_hours:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
latitude:
type: string
description: ''
example: consequatur
nullable: true
longitude:
type: string
description: ''
example: consequatur
nullable: true
images:
type: array
description: 'Must be a file. Must not be greater than 5048 kilobytes.'
items:
type: string
format: binary
category_id:
type: integer
description: 'The id of an existing record in the key_spot_categories table.'
example: 17
nullable: false
required:
- name
- address
- description
- opening_hours
- estate_id
- category_id
security: []
get:
summary: 'Key Spot: Get list of all key spots'
operationId: keySpotGetListOfAllKeySpots
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/key-spots could not be found.'
properties:
message:
type: string
example: 'The route api/v1/key-spots could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
search_value:
type: string
description: ''
example: consequatur
nullable: true
category_id:
type: string
description: ''
example: null
nullable: true
required:
- estate_id
security: []
'/api/v1/key-spots/{id}':
put:
summary: 'Key Spot: Update a key spot'
operationId: keySpotUpdateAKeySpot
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
id:
type: integer
description: 'The id of an existing record in the key_spots table.'
example: 17
nullable: false
name:
type: string
description: ''
example: consequatur
nullable: false
address:
type: string
description: ''
example: consequatur
nullable: false
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
opening_hours:
type: string
description: ''
example: consequatur
nullable: false
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
latitude:
type: string
description: ''
example: consequatur
nullable: true
longitude:
type: string
description: ''
example: consequatur
nullable: true
images:
type: array
description: 'Must be a file. Must not be greater than 5048 kilobytes.'
items:
type: string
format: binary
category_id:
type: integer
description: 'The id of an existing record in the key_spot_categories table.'
example: 17
nullable: false
required:
- id
- name
- address
- description
- opening_hours
- estate_id
- category_id
security: []
delete:
summary: 'Key Spot: Delete a key spot'
operationId: keySpotDeleteAKeySpot
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the key spot.'
example: consequatur
required: true
schema:
type: string
/api/v1/estate-alerts/create:
post:
summary: 'Resident Alert: Create a new resident alert'
operationId: residentAlertCreateANewResidentAlert
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
type:
type: integer
description: 'The id of an existing record in the resident_alert_types table.'
example: 17
nullable: false
directed_to:
type: string
description: ''
example: security
nullable: false
enum:
- security
- estate_admin
rank:
type: string
description: 'estate_admin, security.'
example: consequatur
nullable: false
attachment:
type: array
description: 'Must be a file.'
items:
type: string
format: binary
estate_id:
type: integer
description: 'The id of an existing record in the estates table.'
example: 17
nullable: false
required:
- description
- type
- directed_to
- rank
- estate_id
security: []
'/api/v1/estate-alerts/{id}':
put:
summary: 'Resident Alert: Update a resident alert'
operationId: residentAlertUpdateAResidentAlert
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
message:
type: string
description: ''
example: consequatur
nullable: false
attachment:
type: string
format: binary
description: 'Must be a file.'
nullable: true
type:
type: number
description: 'Now accepting files. The id of an existing record in the resident_alert_types table.'
example: 11613.31890586
nullable: false
status:
type: string
description: ''
example: broadcasted
nullable: false
enum:
- pending
- resolved
- broadcasted
resolution_note:
type: string
description: ''
example: null
nullable: false
estate_id:
type: number
description: 'The id of an existing record in the estates table.'
example: 11613.31890586
nullable: false
security: []
delete:
summary: 'Resident Alert: Delete a resident alert'
operationId: residentAlertDeleteAResidentAlert
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the estate alert.'
example: consequatur
required: true
schema:
type: string
'/api/v1/estate-alerts/view-detail/{id}':
get:
summary: 'Resident Alert: View Resident Alert By Id'
operationId: residentAlertViewResidentAlertById
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/estate-alerts/view-detail/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/estate-alerts/view-detail/consequatur could not be found.'
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the view detail.'
example: consequatur
required: true
schema:
type: string
/api/v1/estate-alerts:
get:
summary: ''
operationId: getApiV1EstateAlerts
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/estate-alerts could not be found.'
properties:
message:
type: string
example: 'The route api/v1/estate-alerts could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_id:
type: number
description: 'The id of an existing record in the estates table.'
example: 11613.31890586
nullable: false
required:
- estate_id
security: []
/api/v1/estate-alerts/by-status:
get:
summary: ''
operationId: getApiV1EstateAlertsByStatus
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/estate-alerts/by-status could not be found.'
properties:
message:
type: string
example: 'The route api/v1/estate-alerts/by-status could not be found.'
tags:
- Endpoints
security: []
/api/v1/resident-alert-types:
post:
summary: 'Resident Alert: Create a new resident alert type'
operationId: residentAlertCreateANewResidentAlertType
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: ''
example: 'Dolores dolorum amet iste laborum eius est dolor.'
nullable: false
required:
- description
security: []
get:
summary: 'Resident Alert type: Get all alert type'
operationId: residentAlertTypeGetAllAlertType
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/resident-alert-types could not be found.'
properties:
message:
type: string
example: 'The route api/v1/resident-alert-types could not be found.'
tags:
- Endpoints
security: []
'/api/v1/resident-alert-types/{id}':
put:
summary: 'Resident Alert: Update a resident alert type'
operationId: residentAlertUpdateAResidentAlertType
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: ''
example: null
nullable: false
security: []
delete:
summary: 'Resident Alert: Delete a resident alert type'
operationId: residentAlertDeleteAResidentAlertType
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the resident alert type.'
example: consequatur
required: true
schema:
type: string
/api/v1/get_lga:
get:
summary: 'Estate: Get LGA by state'
operationId: estateGetLGAByState
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/get_lga could not be found.'
properties:
message:
type: string
example: 'The route api/v1/get_lga could not be found.'
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ''
example: consequatur
nullable: false
required:
- id
security: []
/api/v1/get-states:
get:
summary: 'Estate: Get All the state'
operationId: estateGetAllTheState
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/get-states could not be found.'
properties:
message:
type: string
example: 'The route api/v1/get-states could not be found.'
tags:
- Endpoints
security: []
/api/v1/get-countries:
get:
summary: 'Estate: Get All the countries'
operationId: estateGetAllTheCountries
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/get-countries could not be found.'
properties:
message:
type: string
example: 'The route api/v1/get-countries could not be found.'
tags:
- Endpoints
security: []
/api/v1/logout:
post:
summary: 'logout user.'
operationId: logoutUser
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
/api/v1/client-requests/create:
post:
summary: 'Client Request: Store Client Request'
operationId: clientRequestStoreClientRequest
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
estate_name:
type: string
description: ''
example: consequatur
nullable: false
estate_location:
type: string
description: ''
example: consequatur
nullable: false
estate_size:
type: integer
description: ''
example: 17
nullable: false
estate_type:
type: string
description: ''
example: Mixed
nullable: false
enum:
- Residential
- Commercial
- Mixed
contact_person_name:
type: string
description: ''
example: consequatur
nullable: false
contact_person_phonenumber:
type: string
description: 'Must not be greater than 15 characters.'
example: mqeopfuudtdsu
nullable: false
contact_person_email:
type: string
description: 'Must be a valid email address.'
example: schultz.robyn@example.com
nullable: false
required:
- estate_name
- estate_location
- estate_size
- estate_type
- contact_person_name
- contact_person_phonenumber
- contact_person_email
security: []
/api/v1/client-requests:
get:
summary: ''
operationId: getApiV1ClientRequests
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/client-requests could not be found.'
properties:
message:
type: string
example: 'The route api/v1/client-requests could not be found.'
tags:
- Endpoints
security: []
'/api/v1/client-requests/{id}':
get:
summary: ''
operationId: getApiV1ClientRequestsId
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/client-requests/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/client-requests/consequatur could not be found.'
tags:
- Endpoints
security: []
put:
summary: ''
operationId: putApiV1ClientRequestsId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
delete:
summary: ''
operationId: deleteApiV1ClientRequestsId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the client request.'
example: consequatur
required: true
schema:
type: string
/api/v1/contact-us/create:
post:
summary: 'Client Request: Store Client Request'
operationId: clientRequestStoreClientRequest
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
full_name:
type: string
description: ''
example: consequatur
nullable: false
email:
type: string
description: 'Must be a valid email address.'
example: carolyne.luettgen@example.org
nullable: false
subject:
type: string
description: ''
example: consequatur
nullable: false
message:
type: string
description: ''
example: consequatur
nullable: false
required:
- full_name
- email
- subject
- message
security: []
/api/v1/contact-us:
get:
summary: ''
operationId: getApiV1ContactUs
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/contact-us could not be found.'
properties:
message:
type: string
example: 'The route api/v1/contact-us could not be found.'
tags:
- Endpoints
security: []
'/api/v1/contact-us/{id}':
get:
summary: ''
operationId: getApiV1ContactUsId
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/contact-us/consequatur could not be found.'
properties:
message:
type: string
example: 'The route api/v1/contact-us/consequatur could not be found.'
tags:
- Endpoints
security: []
put:
summary: ''
operationId: putApiV1ContactUsId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
delete:
summary: ''
operationId: deleteApiV1ContactUsId
description: ''
parameters: []
responses: { }
tags:
- Endpoints
security: []
parameters:
-
in: path
name: id
description: 'The ID of the contact u.'
example: consequatur
required: true
schema:
type: string
/api/v1/size/list:
get:
summary: 'Estate size: List all Estate size'
operationId: estateSizeListAllEstateSize
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/v1/size/list could not be found.'
properties:
message:
type: string
example: 'The route api/v1/size/list could not be found.'
tags:
- Endpoints
security: []
/api/v1/auth/send-reset-code:
post:
summary: 'Send Reset Code'
operationId: sendResetCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address. The email of an existing record in the users table.'
example: qkunze@example.com
nullable: false
required:
- email
security: []
/api/v1/auth/verify-reset-code:
post:
summary: 'Verify Reset Code'
operationId: verifyResetCode
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
code:
type: string
description: 'Must be 6 digits.'
example: '810798'
nullable: false
required:
- email
- code
security: []
/api/v1/auth/reset-password:
post:
summary: 'Reset Reset User Password'
operationId: resetResetUserPassword
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: qkunze@example.com
nullable: false
code:
type: string
description: 'Must be 6 digits.'
example: '810798'
nullable: false
password:
type: string
description: 'Must be at least 6 characters.'
example: '[2UZ5ij-e/dl4'
nullable: false
required:
- email
- code
- password
security: []