basePath: "" definitions: github_com_wattmotive_cms_internal_models.AddFavoriteHubRequest: properties: hub_id: type: string required: - hub_id type: object github_com_wattmotive_cms_internal_models.Amenity: properties: category: example: Connectivity maxLength: 50 type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array name: example: Park maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - name type: object github_com_wattmotive_cms_internal_models.AmenityList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.AuditLog: properties: client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_at: type: string data: items: type: integer type: array id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' object_id: type: string operation_type: type: string table_name: type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true user_id: type: string type: object github_com_wattmotive_cms_internal_models.AuditLogList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.AuditLog' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.BillingPlan: properties: active: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' base_tariff: minimum: 0 type: number charger_count: readOnly: true type: integer client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object id: readOnly: true type: string images: items: type: string type: array is_ac: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' name: example: Asset Name maxLength: 64 minLength: 3 type: string parking_charges_per_hour: example: 10 minimum: 0 type: number rates: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingRate' type: array secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.BillingPlanList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlan' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.BillingPlanSummary: properties: active: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' base_tariff: type: number id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' is_ac: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' name: type: string parking_charges_per_hour: example: 10 minimum: 0 type: number rates: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingRate' type: array type: object github_com_wattmotive_cms_internal_models.BillingRate: properties: billing_plan_id: type: string createdAt: type: string deletedAt: $ref: '#/definitions/gorm.DeletedAt' end_time: type: string friday_rate: minimum: 0 type: number id: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' readOnly: true monday_rate: minimum: 0 type: number saturday_rate: minimum: 0 type: number start_time: type: string sunday_rate: minimum: 0 type: number thursday_rate: minimum: 0 type: number tuesday_rate: minimum: 0 type: number updatedAt: type: string wednesday_rate: minimum: 0 type: number required: - end_time - start_time type: object github_com_wattmotive_cms_internal_models.Charger: properties: average_rating: example: 4.2 readOnly: true type: number billing_plan: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlanSummary' readOnly: true billing_plan_id: type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string connectors: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Connector' type: array created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object enabled: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' example: "true" firmware_version: example: 2.1.41-2024.03.21 type: string hub: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' readOnly: true hub_id: type: string id: readOnly: true type: string id_tag: readOnly: true type: integer images: items: type: string type: array last_online: readOnly: true type: string make: example: chargeworks type: string managed_by: example: James Smith type: string model: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' readOnly: true model_id: type: string name: example: Asset Name maxLength: 64 minLength: 3 type: string online: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' parkings: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingSummary' type: array rating_count: readOnly: true type: integer secondary_id: type: string sim_card: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCardSummary' readOnly: true sim_card_id: type: string status: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models_charger.Status' enum: - available - charging - faulty - under_maintenance - offline readOnly: true updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string uptime_percentage: example: 90.5 readOnly: true type: number vendor: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendorSummary' readOnly: true vendor_id: type: string type: object github_com_wattmotive_cms_internal_models.ChargerEvent: properties: client_id: example: ada6094a-d7ff-420e-a76b-45eb91382342 type: string createdAt: description: Automatically managed by GORM for creation time type: string data: {} id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' name: type: string type: object github_com_wattmotive_cms_internal_models.ChargerEventList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerEvent' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ChargerList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ChargerModel: properties: capacity_kwh: example: 120 type: number charger_count: readOnly: true type: integer connectivity_types: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityTypeSummary' type: array connector_count: example: 1 type: integer created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string dc_charger: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' dlm: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' id: readOnly: true type: string images: items: type: string type: array name: example: DC Ultra 240 maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string vendor: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendorSummary' readOnly: true vendor_id: type: string required: - capacity_kwh - connectivity_types - connector_count - name type: object github_com_wattmotive_cms_internal_models.ChargerModelList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ChargerRatingStats: properties: average_rating: type: number charger_id: type: string rating_1: type: integer rating_2: type: integer rating_3: type: integer rating_4: type: integer rating_5: type: integer total_ratings: type: integer type: object github_com_wattmotive_cms_internal_models.ChargerSummary: properties: billing_plan: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlanSummary' readOnly: true billing_plan_id: type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.ChargerVendor: properties: charger_count: readOnly: true type: integer created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array model_count: readOnly: true type: integer name: example: Chargeworks maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - name type: object github_com_wattmotive_cms_internal_models.ChargerVendorList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendor' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ChargerVendorSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.Client: properties: address: example: 1999 Buffalo Groove type: string address_line_2: example: 1999 Buffalo Groove type: string area: example: 732 Waterside Towers maxLength: 32 minLength: 5 type: string charger_count: readOnly: true type: integer city: example: Kolkata maxLength: 32 type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string country: example: India maxLength: 10 type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object gst_percentage: example: 18 maximum: 100 minimum: 0 type: number icon_url: type: string id: readOnly: true type: string images: items: type: string type: array localization_profile: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' readOnly: true localization_profile_id: type: string name: example: Charge Works maxLength: 64 minLength: 3 type: string platform_fixed_charges: example: 10 minimum: 0 type: number platform_variable_charges_percent: example: 8.5 maximum: 1 minimum: 0 type: number postal_code: example: "700091" maxLength: 10 type: string secondary_id: type: string state: example: West Bengal maxLength: 32 type: string tax_id: example: "1234567890" maxLength: 40 type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string user_count: readOnly: true type: integer required: - country - name - postal_code type: object github_com_wattmotive_cms_internal_models.ClientList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ClientSummary: properties: gst_percentage: example: 18 maximum: 100 minimum: 0 type: number id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array localization_profile: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfileSummary' readOnly: true localization_profile_id: type: string name: example: Name type: string tax_id: example: "1234567890" maxLength: 40 type: string type: object github_com_wattmotive_cms_internal_models.ConfirmResetPasswordInput: properties: password: minLength: 8 type: string required: - password type: object github_com_wattmotive_cms_internal_models.ConnectivityType: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array name: example: sim type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.ConnectivityTypeList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityType' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ConnectivityTypeSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.Connector: properties: charger_id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' connector_type: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorTypeSummary' readOnly: true createdAt: type: string deletedAt: $ref: '#/definitions/gorm.DeletedAt' id: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' readOnly: true name: example: Connector 1 type: string qr_code: type: string sequence_no: example: 1 type: integer status: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorStatus' readOnly: true type_id: type: string updatedAt: type: string type: object github_com_wattmotive_cms_internal_models.ConnectorStatus: enum: - connected - disconnected - available - unavailable - charging type: string x-enum-varnames: - Connected - Disconnected - Available - Unavailable - Charging github_com_wattmotive_cms_internal_models.ConnectorType: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array name: example: CCS1 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.ConnectorTypeList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorType' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ConnectorTypeSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.CreateRFIDRequest: properties: enabled: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' id_str: type: string user_id: type: string required: - id_str type: object github_com_wattmotive_cms_internal_models.CreateRatingRequest: properties: comment: maxLength: 1000 type: string rating: maximum: 5 minimum: 1 type: integer selection: items: type: string type: array session_id: type: string required: - session_id type: object github_com_wattmotive_cms_internal_models.Error: properties: classification: example: ERR:00-001 type: string code: example: 400 type: integer description: example: Bad Request type: string message: example: field name can't be blank type: string type: object github_com_wattmotive_cms_internal_models.Flag: enum: - "true" - "false" type: string x-enum-varnames: - "True" - "False" github_com_wattmotive_cms_internal_models.Group: properties: client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object id: readOnly: true type: string images: items: type: string type: array name: example: Wallmart Parking Lot 2 maxLength: 64 minLength: 3 type: string secondary_id: type: string type: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models_group.Type' example: user updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - name - type type: object github_com_wattmotive_cms_internal_models.GroupList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Group' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.Hub: properties: active_session_count: example: 3 readOnly: true type: integer address: example: 1999 Buffalo Groove type: string address_line_2: example: 1999 Buffalo Groove type: string altitude: example: 180.5 type: number amenities: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' type: array average_rating: example: 4.2 readOnly: true type: number chargers: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' readOnly: true type: array city: example: Beffalo Groove type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string country: example: USA type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object id: readOnly: true type: string images: items: type: string type: array latitude: example: 41.8781 type: number longitude: example: -87.6298 type: number map_link: example: https://maps.example.com/?q=41.8781,-87.6298 type: string name: example: Asset Name maxLength: 64 minLength: 3 type: string postal_code: example: "60089" type: string public: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' example: "true" rating_count: readOnly: true type: integer secondary_id: type: string state: example: IL type: string stats: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.HubStats' readOnly: true timings: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Timing' type: array updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - amenities type: object github_com_wattmotive_cms_internal_models.HubList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.HubRatingStats: properties: average_rating: type: number hub_id: type: string rating_1: type: integer rating_2: type: integer rating_3: type: integer rating_4: type: integer rating_5: type: integer total_ratings: type: integer type: object github_com_wattmotive_cms_internal_models.HubStats: properties: avaiable: readOnly: true type: integer busy: readOnly: true type: integer partially_available: readOnly: true type: integer unavailable: readOnly: true type: integer type: object github_com_wattmotive_cms_internal_models.Id: description: A unique identifier string type: object github_com_wattmotive_cms_internal_models.Invoice: properties: base_amount: type: number charger: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerSummary' readOnly: true charger_id: type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string due_date: type: string duration_in_seconds: type: integer gst_amount: type: number gst_percentage: type: number id: readOnly: true type: string invoice_date: type: string invoice_number: type: integer name: example: Asset Name maxLength: 64 minLength: 3 type: string notes: type: string payment_date: type: string payment_reference: type: string payment_status: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PaymentStatus' platform_charges: type: number platform_charges_fixed: type: number platform_charges_variable: type: number secondary_id: type: string session: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SessionSummary' readOnly: true session_id: type: string status: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.InvoiceStatus' time_breakdown: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.InvoiceTimeBreakdown' type: array total_amount: type: number updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string usage_wh: type: integer user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true user_id: type: string type: object github_com_wattmotive_cms_internal_models.InvoiceList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Invoice' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.InvoiceStatus: enum: - draft - sent - paid - overdue - cancelled type: string x-enum-varnames: - InvoiceStatusDraft - InvoiceStatusSent - InvoiceStatusPaid - InvoiceStatusOverdue - InvoiceStatusCancelled github_com_wattmotive_cms_internal_models.InvoiceTimeBreakdown: properties: amount: type: number created_at: type: string day_of_week: type: string duration: description: Duration in minutes type: integer end_time: type: string id: type: integer invoice_id: type: string rate: description: Rate per kWh type: number rate_type: description: '"base_tariff" or "time_based"' type: string start_time: type: string updated_at: type: string usage_kwh: type: number type: object github_com_wattmotive_cms_internal_models.LocalizationProfile: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array name: example: Common maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - name type: object github_com_wattmotive_cms_internal_models.LocalizationProfileList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.LocalizationProfileSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.LocalizedText: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string key: example: logo-fotertext-1 type: string language: example: fr type: string localization_profile: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' readOnly: true localization_profile_id: type: string name: example: Asset Name maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string value: example: Nous facilitons votre transition vers type: string required: - value type: object github_com_wattmotive_cms_internal_models.LocalizedTextList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedText' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.OTPLoginByEmailRequest: properties: email: type: string required: - email type: object github_com_wattmotive_cms_internal_models.OTPLoginRequest: properties: phone_no: type: string required: - phone_no type: object github_com_wattmotive_cms_internal_models.OTPLoginResponse: properties: message: type: string status: type: string type: object github_com_wattmotive_cms_internal_models.OTPVerifyByEmailRequest: properties: code: type: string email: type: string required: - code - email type: object github_com_wattmotive_cms_internal_models.OTPVerifyRequest: properties: code: type: string phone_no: type: string required: - code - phone_no type: object github_com_wattmotive_cms_internal_models.OTPVerifyResponse: properties: message: type: string status: type: string token: type: string user: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' type: object github_com_wattmotive_cms_internal_models.ParkingSummary: properties: charger_id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' id: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' readOnly: true name: example: Parking Spot 1 type: string parking_type: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingTypeSummary' readOnly: true type_id: type: string type: object github_com_wattmotive_cms_internal_models.ParkingType: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string description: maxLength: 200 type: string id: readOnly: true type: string images: items: type: string type: array name: example: Asset Name maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.ParkingTypeList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingType' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ParkingTypeSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.PaymentStatus: enum: - pending - paid - overdue - cancelled type: string x-enum-varnames: - PaymentStatusPending - PaymentStatusPaid - PaymentStatusOverdue - PaymentStatusCancelled github_com_wattmotive_cms_internal_models.PlatformCharges: properties: client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object description: example: Platform service charges type: string effective_from: type: string effective_to: type: string fixed_charge_amount: example: 10.5 type: number id: readOnly: true type: string images: items: type: string type: array is_active: type: boolean name: example: Asset Name maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string variable_charge_percent: example: 2.5 maximum: 100 minimum: 0 type: number type: object github_com_wattmotive_cms_internal_models.PlatformChargesList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.RFID: properties: client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_at: readOnly: true type: string enabled: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' id_str: type: string updated_at: readOnly: true type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' description: Relationships readOnly: true user_id: type: string required: - id_str type: object github_com_wattmotive_cms_internal_models.RFIDList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RFID' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.Rating: properties: charger: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' description: Relationships readOnly: true charger_id: type: string client_id: type: string comment: maxLength: 1000 type: string created_at: readOnly: true type: string hub: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' readOnly: true hub_id: type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' rating: maximum: 5 minimum: 1 type: integer selection: items: type: string type: array session: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Session' readOnly: true session_id: type: string updated_at: readOnly: true type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' readOnly: true user_id: type: string required: - session_id type: object github_com_wattmotive_cms_internal_models.RatingList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Rating' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.RemoveFavoriteHubRequest: properties: hub_id: type: string required: - hub_id type: object github_com_wattmotive_cms_internal_models.RequestType: enum: - start - stop type: string x-enum-varnames: - StartCharging - StopCharging github_com_wattmotive_cms_internal_models.Reservation: properties: charger: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' readOnly: true charger_id: example: ada6094a-d7ff-420e-a76b-afeb913801e8 type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string connector_id: example: ada6094a-d7ff-420e-a76b-afeb913801e8 type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object duration_seconds: example: 3600 type: integer id: readOnly: true type: string images: items: type: string type: array name: example: Asset Name maxLength: 64 minLength: 3 type: string secondary_id: type: string start_time: example: 1718516444 type: integer updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string user_id: example: ada6094a-d7ff-420e-a76b-afeb913801e8 type: string type: object github_com_wattmotive_cms_internal_models.ReservationList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.ResetPasswordInput: properties: email: type: string phone_no: example: "+14155552671" type: string type: object github_com_wattmotive_cms_internal_models.SIMCard: properties: activation_date: example: "2024-01-15" type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object data_limit: description: in GB example: 10.5 type: number data_used: description: in GB example: 2.3 type: number expiry_date: example: "2025-01-15" type: string iccid: example: "89014103211118510720" type: string id: readOnly: true type: string images: items: type: string type: array imsi: example: "404001234567890" type: string name: example: Asset Name maxLength: 64 minLength: 3 type: string notes: type: string phone_number: example: "+919876543210" type: string provider: example: Airtel type: string secondary_id: type: string status: description: active, inactive, suspended example: active type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - iccid type: object github_com_wattmotive_cms_internal_models.SIMCardList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCard' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.SIMCardSummary: properties: activation_date: example: "2024-01-15" type: string data_limit: description: in GB example: 10.5 type: number data_used: description: in GB example: 2.3 type: number expiry_date: example: "2025-01-15" type: string iccid: example: "89014103211118510720" type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array imsi: example: "404001234567890" type: string name: example: Name type: string notes: type: string phone_number: example: "+919876543210" type: string provider: example: Airtel type: string status: description: active, inactive, suspended example: active type: string required: - iccid type: object github_com_wattmotive_cms_internal_models.Session: properties: amount: example: 25.5 type: number amount_limit: type: integer charger: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerSummary' readOnly: true charger_id: example: 3c8a469e-6e8b-438c-8800-e97838503df4 type: string charger_name: example: Charger 1 - 7.2 kW type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string client_name: example: Decan Chargers type: string connector_icon: type: string connector_id: example: 0 type: integer connector_type_name: example: LEVAC type: string consumer_id: example: md.asraf type: string consumer_name: example: Mohammad Asraf type: string consumer_phone_number: example: "+919876543210" type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object duration_in_secs: type: integer end_received_at: example: "1715189273000" type: string end_time: example: "1715194257000" type: string hub_id: example: b3249b1a-2a1e-42bc-9c2e-82923fd9af4c type: string hub_name: example: Begampet type: string id: readOnly: true type: string images: items: type: string type: array name: example: Asset Name maxLength: 64 minLength: 3 type: string plate_number: type: string secondary_id: type: string session_id: type: integer start_received_at: example: "1715189273000" type: string start_time: example: "1715189273000" type: string state: type: string status: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string usage_wh: example: 9620 type: integer usage_wh_current: example: 9620 type: integer usage_wh_initial: example: 9620 type: integer user_id: example: ada6094a-d7ff-420e-a76b-afeb913801e8 type: string user_name: example: Sanjeev Chopra type: string type: object github_com_wattmotive_cms_internal_models.SessionList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Session' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.SessionSummary: properties: amount: type: number amount_limit: type: integer charger_id: type: string charger_name: type: string client_id: type: string client_name: type: string connector_id: type: integer consumer_id: type: string consumer_name: type: string duration_in_secs: type: integer end_time: type: string hub_id: type: string hub_name: type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string plate_number: type: string session_id: type: integer start_time: type: string status: type: string usage_wh: type: integer user_id: type: string user_name: type: string type: object github_com_wattmotive_cms_internal_models.SignInInput: properties: email: type: string password: maxLength: 64 minLength: 8 type: string required: - email - password type: object github_com_wattmotive_cms_internal_models.SignInResponse: properties: token: type: string user: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' type: object github_com_wattmotive_cms_internal_models.SignUpInput: properties: admin: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' city: type: string country: type: string email: example: user@example.com type: string email_verified: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true first_name: example: John type: string id_tag: type: integer incomplete_sign_up: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true last_name: example: Doe type: string password: example: Ahistf#9g^f minLength: 8 type: string password_token: type: string phone_no: example: "+14155552671" type: string phone_no_verified: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true preferred_lang: example: en type: string rfid: type: string rfids: items: type: string type: array state: type: string superadmin: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' tax_id: example: "1234567890" maxLength: 40 type: string type: object github_com_wattmotive_cms_internal_models.StartSessionRequest: properties: amount_limit: example: 100 type: integer charger_id: type: string connector_id: example: 1 type: integer id_tag: type: string mobile_number: type: string name: type: string plate_number: type: string required: - charger_id - connector_id type: object github_com_wattmotive_cms_internal_models.StopSessionRequest: properties: session_id: type: integer type: object github_com_wattmotive_cms_internal_models.TimeSlot: properties: end_time: type: string start_time: type: string type: object github_com_wattmotive_cms_internal_models.Timing: properties: days: items: type: string type: array is_24_hours: type: boolean slots: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.TimeSlot' type: array type: object github_com_wattmotive_cms_internal_models.Transaction: properties: amount: type: number created_at: readOnly: true type: string description: type: string failure_reason: type: string id: type: string metadata: additionalProperties: true type: object razorpay_order_id: type: string razorpay_payment_id: type: string razorpay_signature: type: string status: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.TransactionStatus' type: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.TransactionType' updated_at: readOnly: true type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true user_id: type: string wallet: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Wallet' readOnly: true wallet_id: type: string type: object github_com_wattmotive_cms_internal_models.TransactionList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Transaction' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.TransactionStatus: enum: - pending - success - failed - cancelled type: string x-enum-varnames: - TransactionStatusPending - TransactionStatusSuccess - TransactionStatusFailed - TransactionStatusCancelled github_com_wattmotive_cms_internal_models.TransactionType: enum: - credit - debit type: string x-enum-comments: TransactionTypeCredit: Money added to wallet TransactionTypeDebit: Money deducted from wallet x-enum-descriptions: - Money added to wallet - Money deducted from wallet x-enum-varnames: - TransactionTypeCredit - TransactionTypeDebit github_com_wattmotive_cms_internal_models.UpdateRFIDRequest: properties: enabled: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' id_str: type: string type: object github_com_wattmotive_cms_internal_models.UpdateRatingRequest: properties: comment: maxLength: 1000 type: string rating: maximum: 5 minimum: 1 type: integer selection: items: type: string type: array type: object github_com_wattmotive_cms_internal_models.User: properties: admin: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' city: type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string country: type: string created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object email: example: user@example.com type: string email_verified: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true first_name: example: John type: string id: readOnly: true type: string id_tag: type: integer images: items: type: string type: array incomplete_sign_up: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true last_name: example: Doe type: string name: example: Asset Name maxLength: 64 minLength: 3 type: string password: example: Ahistf#9g^f minLength: 8 type: string password_token: type: string phone_no: example: "+14155552671" type: string phone_no_verified: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' readOnly: true preferred_lang: example: en type: string rfid: type: string rfids: items: type: string type: array secondary_id: type: string state: type: string superadmin: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' tax_id: example: "1234567890" maxLength: 40 type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.UserFavoriteHub: properties: created_at: readOnly: true type: string hub: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' hub_id: type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' updated_at: readOnly: true type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' description: Relationships user_id: type: string type: object github_com_wattmotive_cms_internal_models.UserFavoriteHubList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserFavoriteHub' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.UserList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.UserRequest: properties: charger: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' readOnly: true charger_id: type: string client: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientSummary' readOnly: true client_id: type: string connector_id: type: integer created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string custom_fields: additionalProperties: true type: object id: readOnly: true type: string images: items: type: string type: array name: example: Asset Name maxLength: 64 minLength: 3 type: string request_type: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RequestType' secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string type: object github_com_wattmotive_cms_internal_models.UserRequestList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequest' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.UserSummary: properties: email: example: user@example.com type: string first_name: example: John type: string id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' last_name: example: Doe type: string type: object github_com_wattmotive_cms_internal_models.Vehicle: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string default: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Flag' id: readOnly: true type: string images: items: type: string type: array name: example: Asset Name maxLength: 64 minLength: 3 type: string registration_no: maxLength: 20 minLength: 4 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string vehicle_model: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModelSummary' readOnly: true vehicle_model_id: type: string year_of_manufacturing: example: 2023 maximum: 2100 minimum: 2000 type: integer required: - registration_no - vehicle_model_id type: object github_com_wattmotive_cms_internal_models.VehicleList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Vehicle' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.VehicleManufacturer: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array name: example: Tesla maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - name type: object github_com_wattmotive_cms_internal_models.VehicleManufacturerList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturer' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.VehicleManufacturerSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.VehicleModel: properties: created_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true created_by_id: readOnly: true type: string createdAt: description: Automatically managed by GORM for creation time readOnly: true type: string id: readOnly: true type: string images: items: type: string type: array manufacturer: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturerSummary' readOnly: true manufacturer_id: type: string name: example: Model S maxLength: 64 minLength: 3 type: string secondary_id: type: string updated_by: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserSummary' readOnly: true updated_by_id: readOnly: true type: string updatedAt: description: Automatically managed by GORM for update time readOnly: true type: string required: - manufacturer_id - name type: object github_com_wattmotive_cms_internal_models.VehicleModelList: properties: error: type: boolean error_message: type: string first: type: boolean items: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModel' type: array last: type: boolean max_page: type: integer page: type: integer size: type: integer total: type: integer total_pages: type: integer visible: type: integer type: object github_com_wattmotive_cms_internal_models.VehicleModelSummary: properties: id: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Id' images: items: type: string type: array manufacturer: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturerSummary' readOnly: true manufacturer_id: type: string name: example: Name type: string type: object github_com_wattmotive_cms_internal_models.Wallet: properties: balance: type: number created_at: readOnly: true type: string id: type: string updated_at: readOnly: true type: string user: allOf: - $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' readOnly: true user_id: type: string type: object github_com_wattmotive_cms_internal_models_charger.Status: enum: - available - preparing - finishing - charging - faulted - under_maintenance - offline - stopped type: string x-enum-varnames: - Available - Preparing - Finishing - Charging - Faulted - UnderMaintenance - Offline - Stopped github_com_wattmotive_cms_internal_models_group.Type: enum: - user - hub - operator - charger type: string x-enum-varnames: - User - Hub - Operator - Charger gorm.DeletedAt: properties: time: type: string valid: description: Valid is true if Time is not NULL type: boolean type: object externalDocs: description: OpenAPI url: https://swagger.io/resources/open-api/ host: api.cloud.chargeworks.in/api/v1 info: contact: email: hello@chargeworks.in name: API Support url: https://www.chargeworks.in/ description: Provides APIs for charger management solution(CMS) services. It allows creation and management of users, termsOfService: http://swagger.io/terms/ title: Chargeworks CMS APIs version: "1.0" paths: /amenities: get: description: Get the list of amenities parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.AmenityList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of amenities tags: - Amenities post: consumes: - application/json description: Create a new amenity parameters: - description: Amenity data in: body name: amenity required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Create a new amenity tags: - Super Admin - Amenities /amenities/{id}: delete: description: Delete amenity by ID parameters: - description: Amenity ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: true type: object "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Delete amenity by ID tags: - Super Admin - Amenities get: description: Get amenity by ID parameters: - description: Amenity ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get amenity by ID tags: - Amenities put: consumes: - application/json description: Update amenity by ID parameters: - description: Amenity ID in: path name: id required: true type: string - description: Amenity data in: body name: amenity required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Amenity' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update amenity by ID tags: - Super Admin - Amenities /audit-logs: get: description: Get the list of audit logs parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.AuditLogList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of audit logs tags: - Audit Logs /audit-logs/{id}: get: description: Find and existing audit log by id parameters: - description: Vendor ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.AuditLog' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a audit log tags: - Audit Logs /auth/login: post: description: API for user login parameters: - description: user in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SignInInput' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SignInResponse' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error summary: User sign in tags: - Auth /auth/logout: delete: description: |- API for an user to log out of the CMS Paste the JWT token. produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: User sign out tags: - Auth /auth/otpLogin: post: consumes: - application/json description: Generate and send OTP for device-based user authentication parameters: - description: OTP login request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginResponse' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error summary: Request OTP for device-based authentication tags: - Auth /auth/otpLogin/email: post: consumes: - application/json description: Generate and send OTP for email-based user authentication parameters: - description: OTP login by email request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginByEmailRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginResponse' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error summary: Request OTP for email-based authentication tags: - Auth /auth/otpVerify: post: consumes: - application/json description: Verify the OTP code and return authentication token parameters: - description: OTP verification request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyResponse' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error summary: Verify OTP and authenticate user tags: - Auth /auth/otpVerify/email: post: consumes: - application/json description: Verify the email OTP code and return authentication token parameters: - description: OTP verification request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyByEmailRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyResponse' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error summary: Verify email OTP and authenticate user tags: - Auth /auth/register: post: consumes: - application/json description: User Signup parameters: - description: user in: body name: user required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SignUpInput' produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error summary: User registration tags: - Auth /auth/reset-password: post: consumes: - application/json description: Reset password using the reset token parameters: - description: Password reset input in: body name: input required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConfirmResetPasswordInput' produces: - application/json responses: "200": description: OK "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Reset password tags: - Auth /billing-plans: get: description: Get the list of billing plans parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - description: Filter by client ID in: query name: client_id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlanList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of billing plans tags: - Billing Plans post: consumes: - application/json description: Add a new billing plan parameters: - description: The billing plan object in: body name: billing_plan required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlan' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlan' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a billing plan tags: - Billing Plans /billing-plans/{id}: delete: description: Remove an existing billing plan parameters: - description: Billing Plan ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a billing plan tags: - Billing Plans get: description: Find an existing billing plan by id parameters: - description: Billing Plan ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlan' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a billing plan tags: - Billing Plans put: description: Update an existing billing plan parameters: - description: Billing Plan ID in: path name: id required: true type: string - description: The billing plan object in: body name: billing_plan required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.BillingPlan' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a billing plan tags: - Billing Plans /charger-models: get: description: Get the list of charger models parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModelList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of charger models tags: - Charger Model post: consumes: - application/json description: Add a new charger model parameters: - description: The charger model object in: body name: charger_model required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a charger model tags: - Charger Model /charger-models/{id}: delete: description: Remove an existing charger model parameters: - description: Model ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a charger model tags: - Charger Model get: description: Find and existing charger model by id parameters: - description: Model ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a charger model tags: - Charger Model put: description: Update an existing charger model parameters: - description: Model ID in: path name: id required: true type: string - description: The charger model object in: body name: charger_model required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerModel' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a charger model tags: - Charger Model /charger-vendors: get: description: Get the list of charger vendors parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendorList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of charger vendors tags: - Charger Vendor post: consumes: - application/json description: Add a new charger vendor parameters: - description: The charger vendor object in: body name: charger_vendor required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendor' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendor' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a charger vendor tags: - Charger Vendor /charger-vendors/{id}: delete: description: Remove an existing charger vendor parameters: - description: Vendor ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a charger vendor tags: - Charger Vendor get: description: Find and existing charger vendor by id parameters: - description: Vendor ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendor' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a charger vendor tags: - Charger Vendor put: description: Update an existing charger vendor parameters: - description: Vendor ID in: path name: id required: true type: string - description: The charger vendor object in: body name: charger_vendor required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerVendor' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a charger vendor tags: - Charger Vendor /chargers: get: description: |- Get the list of chargers Paste the JWT token. parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - description: Latitude for searching by radius in: query name: latitude type: number - description: Longitude for searching by radius in: query name: longitude type: number - description: Radius in kilometers from the provided latitude and longitude in: query name: radius type: number - description: Search chargers by id_tag in: query name: id_tag type: string - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array - description: 'Number of days to calculate uptime for (1-30, default: 3)' in: query name: uptime_for_days type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerList' "400": description: Bad Request schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "404": description: Not Found schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "500": description: Internal Server Error schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' security: - Bearer: [] summary: Get the list of chargers tags: - Chargers post: consumes: - application/json description: Create a new charger parameters: - description: The charger object in: body name: charger required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a charger tags: - Chargers /chargers/{charger_id}/rating-stats: get: description: Get rating statistics for a charger parameters: - description: Charger ID in: path name: charger_id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerRatingStats' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get rating statistics for a charger tags: - Ratings /chargers/{charger_id}/ratings: get: description: Get the list of ratings for a charger parameters: - description: Charger ID in: path name: charger_id required: true type: string - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RatingList' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of ratings for a charger tags: - Ratings /chargers/{chargerId}/change-configuration: get: description: Change configuration of an existing charger by id parameters: - description: Charger ID in: path name: chargerId required: true type: string - description: A valid configuration key in: query name: key required: true type: string - description: A valid value for the configuration key in: query name: value required: true type: string - description: If the chager needs to be restarted after the configuration change in: query name: rebootRequired required: true type: boolean produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Change configuration tags: - Remote Control /chargers/{chargerId}/clear-cache: get: description: Clear cache for an existing a charger by id parameters: - description: Charger ID in: path name: chargerId required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Clear cache for a charger tags: - Remote Control /chargers/{chargerId}/connectors/{connectorId}/change-availability: get: description: Change availability of an existing charger by id parameters: - description: Charger ID in: path name: chargerId required: true type: string - description: Connector Id in: path name: connectorId required: true type: string - description: Operative or Inoperative in: query name: availabilityType required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Change availability tags: - Remote Control /chargers/{chargerId}/connectors/{connectorId}/unlock: get: description: |- Unlock connector Use the JWT token. parameters: - description: Charger Id in: path name: chargerId required: true type: string - description: Connector Id in: path name: connectorId required: true type: string produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Unlock connector tags: - Remote Control /chargers/{chargerId}/get-configuration: get: description: Get configuration of an existing charger by id parameters: - description: Charger ID in: path name: chargerId required: true type: string - collectionFormat: csv description: An array of valid configuration keys in: query items: type: string name: keys required: true type: array produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get configuration tags: - Remote Control /chargers/{chargerId}/reset: get: description: |- Reset an existing a charger by id Reset an existing a charger by id parameters: - description: Charger ID in: path name: chargerId required: true type: string - description: Soft or Hard in: query name: resetType type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Reset a charger tags: - Remote Control /chargers/{id}: delete: description: Remove an existing charger parameters: - description: Charger ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a charger tags: - Chargers get: description: |- Find an existing a charger by id Find an existing a charger by id parameters: - description: Charger ID in: path name: id required: true type: string - description: 'Number of days to calculate uptime for (1-30, default: 3)' in: query name: uptime_for_days type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' "400": description: Bad Request schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a charger tags: - Chargers put: consumes: - application/json description: Update an existing charger parameters: - description: Charger ID in: path name: id required: true type: string - description: The charger object in: body name: charger required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Charger' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a charger tags: - Chargers /chargers/{id}/events: get: description: |- Get the list of chargers Paste the JWT token. parameters: - description: Charger Id in: path name: id type: string - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerEventList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of chargers tags: - Charger Events /clients: get: description: Get the list of Clients parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ClientList' type: array "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get list of Clients tags: - Clients /clients/{id}: get: description: Get the Client by id parameters: - description: Client ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get a Client tags: - Clients /connectivity-types: get: description: |- Get the list of ConnectivityType Paste the JWT token. parameters: - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityTypeList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of ConnectivityType tags: - Charger Connectivity Type post: description: Create a new Connectivity type parameters: - description: The Connectivity type object in: body name: connectivity_type required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityType' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityType' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a Connectivity type tags: - Super Admin - Charger Connectivity Type /connectivity-types/{id}: delete: description: Remove an existing Connectivity type parameters: - description: ConnectivityType ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a Connectivity type tags: - Super Admin - Charger Connectivity Type get: description: |- Find an existing a Connectivity Type by id Find an existing a Connectivity Type by id parameters: - description: ConnectivityType ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityType' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a Connectivity Type tags: - Charger Connectivity Type put: description: Update an existing Connectivity type parameters: - description: ConnectivityType ID in: path name: id required: true type: string - description: The Connectivity type object in: body name: connectivity_type required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectivityType' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a Connectivity type tags: - Super Admin - Charger Connectivity Type /connector-types: get: description: |- Get the list of ConnectorType Paste the JWT token. parameters: - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorTypeList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of ConnectorType tags: - Charger Connector Type post: description: Create a new Connector type parameters: - description: The Connector type object in: body name: connector_type required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorType' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorType' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a Connector type tags: - Super Admin - Charger Connector Type /connector-types/{id}: delete: description: Remove an existing Connector type parameters: - description: ConnectorType ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a Connector type tags: - Super Admin - Charger Connector Type get: description: |- Find an existing a Connector Type by id Find an existing a Connector Type by id parameters: - description: ConnectorType ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorType' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a Connector Type tags: - Charger Connector Type put: description: Update an existing Connector type parameters: - description: ConnectorType ID in: path name: id required: true type: string - description: The Connector type object in: body name: connector_type required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ConnectorType' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a Connector type tags: - Super Admin - Charger Connector Type /email/send-verification: post: consumes: - application/json description: Generate and send OTP for email verification parameters: - description: Email verification request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginByEmailRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPLoginResponse' "400": description: Bad Request "500": description: Internal Server Error summary: Send email verification OTP tags: - Auth /email/verify: post: consumes: - application/json description: Verify the email OTP code and send verification confirmation email parameters: - description: OTP verification request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyByEmailRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.OTPVerifyResponse' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error summary: Verify email OTP and send confirmation tags: - Auth /groups: get: description: Get the list of groups parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.GroupList' type: array "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of groups tags: - Groups post: description: Create a new group parameters: - description: The group object in: body name: group required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Group' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Group' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Create a group tags: - Groups /groups/{id}: delete: description: Remove an existing group parameters: - description: Group ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a group tags: - Groups get: description: |- Find an existing a group by id Find an existing a group by id parameters: - description: Group ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Group' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a group tags: - Groups put: description: Update an existing group parameters: - description: Group ID in: path name: id required: true type: string - description: The group object in: body name: group required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Group' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a group tags: - Groups /hubs: get: description: Get the list of hubs parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - description: Latitude for searching by radius in: query name: latitude type: number - description: Longitude for searching by radius in: query name: longitude type: number - description: Radius in kilometers from the provided latitude and longitude in: query name: radius type: number - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.HubList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of hubs tags: - Hubs post: consumes: - application/json description: Add a new hub parameters: - description: The hub object in: body name: hub required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a hub tags: - Hubs /hubs/{hub_id}/rating-stats: get: description: Get rating statistics for a hub parameters: - description: Hub ID in: path name: hub_id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.HubRatingStats' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get rating statistics for a hub tags: - Ratings /hubs/{hub_id}/ratings: get: description: Get the list of ratings for a hub parameters: - description: Hub ID in: path name: hub_id required: true type: string - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RatingList' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of ratings for a hub tags: - Ratings /hubs/{id}: delete: description: Remove an existing hub parameters: - description: Hub ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a hub tags: - Hubs get: description: Find and existing hub by id parameters: - description: Hub ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a hub tags: - Hubs put: description: Update an existing hub parameters: - description: Hub ID in: path name: id required: true type: string - description: The hub object in: body name: hub required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Hub' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a hub tags: - Hubs /invoices: get: description: Get the list of invoices based on user access level parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.InvoiceList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get list of invoices tags: - Invoices /invoices/{id}: delete: description: Delete an invoice (superadmin only) parameters: - description: Invoice ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: type: string type: object "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Delete an invoice tags: - Super Admin - Invoices get: description: Get a specific invoice by ID with access control parameters: - description: Invoice ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Invoice' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get invoice by ID tags: - Invoices put: consumes: - application/json description: Edit an existing invoice (superadmin only) parameters: - description: Invoice ID in: path name: id required: true type: string - description: Updated invoice data in: body name: invoice required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Invoice' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Invoice' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Edit an invoice tags: - Super Admin - Invoices /invoices/{id}/send-email: post: description: Send invoice email for a specific invoice (users can send for their own invoices) parameters: - description: Invoice ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: type: string type: object "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Send invoice email for a specific invoice tags: - Invoices /localization-profiles: get: description: |- Get the list of LocalizationProfile Paste the JWT token. parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfileList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of LocalizationProfile tags: - Localization Profile post: description: Create a new Localization profile parameters: - description: The Localization profile object in: body name: localization_profile required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a Localization profile tags: - Super Admin - Localization Profile /localization-profiles/{id}: delete: description: Remove an existing Localization profile parameters: - description: LocalizationProfile ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a Localization profile tags: - Super Admin - Localization Profile get: description: Find an existing a Localization Profile by id parameters: - description: LocalizationProfile ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a Localization Profile tags: - Localization Profile put: description: Update an existing Localization profile parameters: - description: LocalizationProfile ID in: path name: id required: true type: string - description: The Localization profile object in: body name: localization_profile required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizationProfile' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a Localization profile tags: - Super Admin - Localization Profile /localized-texts: get: description: |- Get the list of LocalizedText Paste the JWT token. parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedTextList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of LocalizedText tags: - Localized Text post: description: Create a new Localized Text parameters: - description: The Localized Text object in: body name: localization_text required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedText' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedText' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a Localized Text tags: - Super Admin - Localized Text /localized-texts/{id}: delete: description: Remove an existing Localized Text parameters: - description: LocalizedText ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a Localized Text tags: - Super Admin - Localized Text get: description: |- Find an existing a Localized Text by id Find an existing a Localized Text by id parameters: - description: LocalizedText ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedText' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a Localized Text tags: - Localized Text put: description: Update an existing Localized Text parameters: - description: LocalizedText ID in: path name: id required: true type: string - description: The Localized Text object in: body name: localization_text required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.LocalizedText' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a Localized Text tags: - Super Admin - Localized Text /localized-texts/import: post: description: Import Localized Texts from csv parameters: - example: fr in: formData maxLength: 2 minLength: 2 name: language required: true type: string - in: formData name: profile_id type: string - description: this is a test file in: formData name: file required: true type: file - example: key in: formData name: key required: true type: string - example: fr in: formData name: value required: true type: string produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Import Localized Texts from csv tags: - Super Admin - Localized Text /parking-types: get: description: Get the list of parking types parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingTypeList' "404": description: Not Found schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "500": description: Internal Server Error schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' security: - Bearer: [] summary: Get the list of parking types tags: - ParkingTypes /parking-types/{id}: delete: description: Delete an existing parking type by id parameters: - description: Parking Type ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "400": description: Bad Request schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "401": description: Unauthorized schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "404": description: Not Found schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "500": description: Internal Server Error schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' security: - Bearer: [] summary: Delete a parking type tags: - ParkingTypes get: description: Find an existing parking type by id parameters: - description: Parking Type ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingType' "404": description: Not Found schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "500": description: Internal Server Error schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' security: - Bearer: [] summary: Find a parking type tags: - ParkingTypes put: description: Update an existing parking type by id parameters: - description: Parking Type ID in: path name: id required: true type: string - description: Parking Type data in: body name: body required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingType' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ParkingType' "400": description: Bad Request schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "401": description: Unauthorized schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "404": description: Not Found schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' "500": description: Internal Server Error schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Error' security: - Bearer: [] summary: Update a parking type tags: - ParkingTypes /platform-charges: get: description: Get the list of platform charges (superadmin only) parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array - description: Filter by client ID in: query name: client_id type: string - description: Filter by active status in: query name: is_active type: boolean produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformChargesList' "401": description: Unauthorized "403": description: Forbidden "500": description: Internal Server Error security: - Bearer: [] summary: Get list of platform charges tags: - Super Admin - Platform Charges post: consumes: - application/json description: Create new platform charges (superadmin only) parameters: - description: Platform charges data in: body name: platform_charges required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "500": description: Internal Server Error security: - Bearer: [] summary: Create new platform charges tags: - Super Admin - Platform Charges /platform-charges/{id}: delete: description: Delete platform charges (superadmin only) parameters: - description: Platform Charges ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: type: string type: object "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Delete platform charges tags: - Super Admin - Platform Charges get: description: Get a specific platform charges by ID (superadmin only) parameters: - description: Platform Charges ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get platform charges by ID tags: - Super Admin - Platform Charges put: consumes: - application/json description: Update existing platform charges (superadmin only) parameters: - description: Platform Charges ID in: path name: id required: true type: string - description: Updated platform charges data in: body name: platform_charges required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.PlatformCharges' "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update platform charges tags: - Super Admin - Platform Charges /ratings: get: description: Get the list of ratings parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RatingList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of ratings tags: - Ratings post: consumes: - application/json description: Create a new rating for a hub parameters: - description: Rating data in: body name: rating required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.CreateRatingRequest' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Rating' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Create a new rating for a hub tags: - Ratings /ratings/{id}: delete: description: Delete rating by ID parameters: - description: Rating ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: true type: object "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Delete rating by ID tags: - Ratings get: description: Get rating by ID parameters: - description: Rating ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Rating' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get rating by ID tags: - Ratings put: consumes: - application/json description: Update rating by ID parameters: - description: Rating ID in: path name: id required: true type: string - description: Rating data in: body name: rating required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UpdateRatingRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Rating' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update rating by ID tags: - Ratings /ratings/session/{session_id}: get: description: Get rating by session ID parameters: - description: Session ID in: path name: session_id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Rating' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get rating by session ID tags: - Ratings /reservations: get: description: Get the list of reservations parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ReservationList' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get list of reservations tags: - Reservations post: description: Add the reservation parameters: - description: Client Id in: query name: client_id type: string - description: Reservation Details JSON in: body name: data required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Add a reservation tags: - Reservations /reservations/{id}: delete: description: Remove the reservation by id parameters: - description: Client Id in: query name: client_id type: string - description: Reservation ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a reservation tags: - Reservations get: description: Get the reservation by id parameters: - description: Reservation ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get reservation by id tags: - Reservations put: consumes: - application/json description: Edit a Reservation parameters: - description: Client Id in: query name: client_id type: string - description: Reservation ID in: path name: id required: true type: string - description: Reservation Details JSON in: body name: data required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Reservation' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Edit a reservation tags: - Reservations /rfids: get: description: Get the list of RFIDs. Regular users see their own RFIDs, admins see RFIDs for their client, super admins see all. parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RFIDList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of RFIDs tags: - RFIDs post: consumes: - application/json description: Create a new RFID. If user_id is not provided, it defaults to the authenticated user. Admins can create RFIDs for any user in their client. parameters: - description: RFID data in: body name: rfid required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.CreateRFIDRequest' produces: - application/json responses: "201": description: Created schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RFID' "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "500": description: Internal Server Error security: - Bearer: [] summary: Create a new RFID tags: - RFIDs /rfids/{id}: delete: description: Delete an existing RFID. Only admins can delete RFIDs. parameters: - description: RFID ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: true type: object "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Delete RFID by ID tags: - RFIDs get: description: Get a specific RFID by its ID. Regular users can access their own RFIDs, admins can access RFIDs for their client. parameters: - description: RFID ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RFID' "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get RFID by ID tags: - RFIDs put: consumes: - application/json description: Update an existing RFID. Only admins can update RFIDs. parameters: - description: RFID ID in: path name: id required: true type: string - description: RFID data in: body name: rfid required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UpdateRFIDRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RFID' "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update RFID by ID tags: - RFIDs /sessions: get: description: Get the list of sessions parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SessionList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get list of sessions tags: - Sessions /sessions/{id}: get: description: Get the session by id parameters: - description: Session ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Session' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get a session tags: - Sessions /sessions/{id}/meter-values: get: description: Get meter values for a specific session by filtering charger events with name "MeterValues" parameters: - description: Session ID in: path name: id required: true type: string - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.ChargerEventList' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get session meter values tags: - Sessions /sessions/{id}/send-email: post: description: Send invoice email for a stopped session (users can send for their own sessions) parameters: - description: Session ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: type: string type: object "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Send invoice email for a specific session tags: - Sessions /sessions/start-charging: post: consumes: - application/json description: Start a charging session on a charger parameters: - description: Start Charging Request in: body name: body required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.StartSessionRequest' produces: - application/json responses: "202": description: Accepted schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Session' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Start charging tags: - Sessions /sessions/stop-charging: post: consumes: - application/json description: Stop a charging session on a charger parameters: - description: Stop Charging Request in: body name: body required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.StopSessionRequest' produces: - application/json responses: "202": description: Accepted schema: additionalProperties: true type: object "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Stop charging tags: - Sessions /sim-cards: get: description: Get the list of SIM cards parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCardList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of SIM cards tags: - SIM Cards post: consumes: - application/json description: Add a new SIM card parameters: - description: The SIM card object in: body name: sim_card required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCard' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCard' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a SIM card tags: - SIM Cards /sim-cards/{id}: delete: description: Remove an existing SIM card parameters: - description: SIM Card ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a SIM card tags: - SIM Cards get: description: Find an existing SIM card by id parameters: - description: SIM Card ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCard' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a SIM card tags: - SIM Cards put: description: Update an existing SIM card parameters: - description: SIM Card ID in: path name: id required: true type: string - description: The SIM card object in: body name: sim_card required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.SIMCard' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a SIM card tags: - SIM Cards /superadmin/clients: post: consumes: - application/json description: Add the Client parameters: - description: Client Details JSON in: body name: data required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a Client tags: - Super Admin - Clients /superadmin/clients/{id}: delete: description: Remove the Client by id parameters: - description: Client ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a Client tags: - Super Admin - Clients put: consumes: - application/json description: Edit a Client parameters: - description: Client ID in: path name: id required: true type: string - description: Client Details JSON in: body name: data required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Client' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Edit a Client tags: - Super Admin - Clients /user-requests: get: description: Get the list of user requests parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequestList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of user requests tags: - User Requests post: consumes: - application/json description: Add a new user request parameters: - description: The user request object in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequest' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a user request tags: - User Requests /user-requests/{id}: delete: description: Remove an existing user request parameters: - description: User Request ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a user request tags: - User Requests get: description: Find and existing user request by id parameters: - description: User Request ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequest' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a user request tags: - User Requests put: description: Update an existing user request parameters: - description: User Request ID in: path name: id required: true type: string - description: The user request object in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserRequest' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a user request tags: - User Requests /users: get: description: |- Get the list of users Paste the JWT token. parameters: - description: Client Id in: query name: client_id type: integer - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserList' type: array "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of users, only for admin users tags: - Users post: description: |- Add a new user Paste the JWT token. parameters: - description: The user object in: body name: user required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Add a user tags: - Users /users/{id}: delete: description: |- Remove an existing user Paste the JWT token. parameters: - description: Client Id in: query name: client_id type: string - description: User ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a user tags: - Users get: description: |- Find an existing user by id Paste the JWT token. parameters: - description: User ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a user tags: - Users put: description: |- Update an existing user Paste the JWT token. parameters: - description: User ID in: path name: id required: true type: string - description: The user object in: body name: user required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.User' "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a user tags: - Users /users/{id}/localized-texts: get: description: |- Get the localized texts for the specified user Paste the JWT token. parameters: - description: User ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: properties: web.client_id: type: string web.name: type: string type: object "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the localized texts for the specified user tags: - Users /users/{id}/supported-languages: get: description: |- Get the list of Languages Paste the JWT token. produces: - application/json responses: "200": description: OK schema: items: items: type: string type: array type: array "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of supported languages for the specified user tags: - Users /users/favorite-hubs: delete: consumes: - application/json description: Remove a hub from user's favorite hubs list parameters: - description: Remove favorite hub request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.RemoveFavoriteHubRequest' produces: - application/json responses: "200": description: OK schema: additionalProperties: type: string type: object "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a hub from favorites tags: - User Favorites get: description: Get the list of user's favorite hubs parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.UserFavoriteHubList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get user's favorite hubs tags: - User Favorites post: consumes: - application/json description: Add a hub to user's favorite hubs list (max 10) parameters: - description: Add favorite hub request in: body name: request required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.AddFavoriteHubRequest' produces: - application/json responses: "201": description: Created schema: additionalProperties: type: string type: object "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "409": description: Conflict "500": description: Internal Server Error security: - Bearer: [] summary: Add a hub as favorite tags: - User Favorites /users/favorite-hubs/{hub_id}/check: get: description: Check if a specific hub is in user's favorites parameters: - description: Hub ID in: path name: hub_id required: true type: string produces: - application/json responses: "200": description: OK schema: additionalProperties: type: boolean type: object "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Check if hub is favorite tags: - User Favorites /vehicle-manufacturers: get: description: Get the list of vehicle manufacturers parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturerList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of vehicle manufacturers tags: - Vehicle Manufacturer post: consumes: - application/json description: Add a new vehicle manufacturer parameters: - description: The vehicle manufacturer object in: body name: vehicle_manufacturer required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturer' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturer' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a vehicle manufacturer tags: - Super Admin - Vehicle Manufacturer /vehicle-manufacturers/{id}: delete: description: Remove an existing vehicle manufacturer parameters: - description: Manufacturer ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a vehicle manufacturer tags: - Super Admin - Vehicle Manufacturer get: description: Find an existing vehicle manufacturer by id parameters: - description: Manufacturer ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturer' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a vehicle manufacturer tags: - Vehicle Manufacturer put: description: Update an existing vehicle manufacturer parameters: - description: Manufacturer ID in: path name: id required: true type: string - description: The vehicle manufacturer object in: body name: vehicle_manufacturer required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleManufacturer' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a vehicle manufacturer tags: - Super Admin - Vehicle Manufacturer /vehicle-models: get: description: Get the list of vehicle models parameters: - description: Manufacturer ID Filter in: query name: manufacturer_id type: string - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModelList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of vehicle models tags: - Vehicle Model post: consumes: - application/json description: Add a new vehicle model parameters: - description: The vehicle model object in: body name: vehicle_model required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModel' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModel' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a vehicle model tags: - Super Admin - Vehicle Model /vehicle-models/{id}: delete: description: Remove an existing vehicle model parameters: - description: Model ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a vehicle model tags: - Super Admin - Vehicle Model get: description: Find an existing vehicle model by id parameters: - description: Model ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModel' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a vehicle model tags: - Vehicle Model put: description: Update an existing vehicle model parameters: - description: Model ID in: path name: id required: true type: string - description: The vehicle model object in: body name: vehicle_model required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleModel' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a vehicle model tags: - Super Admin - Vehicle Model /vehicles: get: description: Get the list of vehicles parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.VehicleList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Get the list of vehicles tags: - Vehicle post: consumes: - application/json description: Add a new vehicle parameters: - description: The vehicle object in: body name: vehicle required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Vehicle' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Vehicle' "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add a vehicle tags: - Vehicle /vehicles/{id}: delete: description: Remove an existing vehicle parameters: - description: Vehicle ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Remove a vehicle tags: - Vehicle get: description: Find an existing vehicle by id parameters: - description: Vehicle ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Vehicle' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Find a vehicle tags: - Vehicle put: description: Update an existing vehicle parameters: - description: Vehicle ID in: path name: id required: true type: string - description: The vehicle object in: body name: vehicle required: true schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Vehicle' produces: - application/json responses: "200": description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Update a vehicle tags: - Vehicle /wallet/add-money: post: consumes: - application/json description: Create a Razorpay order to add money to the wallet parameters: - description: Add money request in: body name: request required: true schema: type: object produces: - application/json responses: "200": description: OK schema: type: object "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Add money to wallet tags: - Wallet /wallet/balance: get: description: Get the current balance of the authenticated user's wallet produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Wallet' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get wallet balance tags: - Wallet /wallet/transactions: get: description: Get a paginated list of wallet transactions for the authenticated user parameters: - description: Page Number in: query name: page type: integer - description: Per Size in: query name: size type: integer - collectionFormat: csv description: Ransack search parameters in: query items: type: string name: q type: array produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.TransactionList' "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: List transactions tags: - Wallet /wallet/transactions/{id}: get: description: Get details of a specific transaction parameters: - description: Transaction ID in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/github_com_wattmotive_cms_internal_models.Transaction' "401": description: Unauthorized "404": description: Not Found "500": description: Internal Server Error security: - Bearer: [] summary: Get transaction details tags: - Wallet /wallet/verify-payment: post: consumes: - application/json description: Verify Razorpay payment and update wallet balance parameters: - description: Payment verification request in: body name: request required: true schema: type: object produces: - application/json responses: "200": description: OK schema: type: object "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - Bearer: [] summary: Verify payment tags: - Wallet /wallet/webhook: post: consumes: - application/json description: Handle Razorpay webhook events for payment status updates parameters: - description: Webhook payload in: body name: request required: true schema: type: object produces: - application/json responses: "200": description: OK "400": description: Bad Request "500": description: Internal Server Error summary: Razorpay webhook handler tags: - Wallet schemes: - https securityDefinitions: Bearer: description: Paste the JWT token. in: header name: Authorization type: apiKey swagger: "2.0"