openapi: 3.0.3 info: title: 'U2c Mobile API Documentation' description: '' version: 1.0.0 servers: - url: 'https://api2.u2cmobile.com' tags: - name: Endpoints description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by calling login method.' security: - default: [] paths: /api/login: post: summary: 'POST api/login' operationId: pOSTApilogin description: 'This endpoint allows you to fetch your access token..' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n \"success\": true,\n \"message\": \"Login Successful\",\n \"data\": {\n \"token\": \"xyzAbc374672346\",\n \"name\": \"Cassie\",\n \"address\": \"Gujarat \",\n }\n}" tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'The email of the user.' example: cassie52@example.net password: type: string description: 'The password of the user.' example: password required: - email - password security: [] /api/helix-post-data: post: summary: '' operationId: postApiHelixPostData description: '' parameters: [] responses: { } tags: - Endpoints /api/brands: get: summary: '' operationId: getApiBrands description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints '/api/brand/{id}': get: summary: '' operationId: getApiBrandId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: id description: 'The ID of the brand.' example: '564' required: true schema: type: string '/api/activation/plans/{brand_id}': get: summary: '' operationId: getApiActivationPlansBrand_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: brand_id description: 'The ID of the brand.' example: '564' required: true schema: type: string '/api/activation/plans-by-mdn/{mdn}': get: summary: '' operationId: getApiActivationPlansByMdnMdn description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: mdn description: '' example: architecto required: true schema: type: string '/api/refill/plans/{brand_id}': get: summary: '' operationId: getApiRefillPlansBrand_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: brand_id description: 'The ID of the brand.' example: '564' required: true schema: type: string '/api/activation/plan/{id}': get: summary: '' operationId: getApiActivationPlanId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: id description: 'The ID of the plan.' example: architecto required: true schema: type: string '/api/refill/plan/{id}': get: summary: '' operationId: getApiRefillPlanId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: id description: 'The ID of the plan.' example: architecto required: true schema: type: string /api/activation: post: summary: '' operationId: postApiActivation description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: integer description: 'The id of an existing record in the brands table.' example: 16 plan_id: type: integer description: 'The id of an existing record in the plans table.' example: 16 imei: type: number description: '' example: 4326.41688 nullable: true first_name: type: string description: '' example: architecto last_name: type: string description: '' example: architecto email: type: string description: 'Must be a valid email address.' example: zbailey@example.net address: type: string description: '' example: architecto city: type: string description: '' example: architecto state: type: string description: '' example: architecto zipcode: type: number description: '' example: 4326.41688 sim_type: type: string description: '' example: esim enum: - physical - esim source: type: string description: '' example: architecto nullable: true required: - brand_id - plan_id - first_name - last_name - email - address - city - state - zipcode - sim_type /api/activation-calculation: post: summary: '' operationId: postApiActivationCalculation description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: plan_id: type: number description: 'The id of an existing record in the plans table.' example: 4326.41688 month: type: number description: '' example: '12' enum: - '1' - '3' - '6' - '12' required: - plan_id - month /api/refill: post: summary: '' operationId: postApiRefill description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: mdn: type: string description: 'Must not be greater than 10 characters.' example: bngzmi plan_id: type: integer description: 'The id of an existing record in the plans table.' example: 16 amount: type: number description: '' example: 4326.41688 nullable: true coupon_code: type: string description: '' example: null nullable: true required: - mdn - plan_id /api/refill-with-card: post: summary: '' operationId: postApiRefillWithCard description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: mdn: type: string description: 'Must not be greater than 10 characters.' example: bngzmi plan_id: type: integer description: 'The id of an existing record in the plans table.' example: 16 amount: type: number description: '' example: 4326.41688 nullable: true coupon_code: type: string description: '' example: null nullable: true required: - mdn - plan_id /api/portin: post: summary: '' operationId: postApiPortin description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: number description: 'The id of an existing record in the brands table.' example: 4326.41688 plan_id: type: number description: 'The id of an existing record in the plans table.' example: 4326.41688 imei: type: string description: 'Must be 15 digits.' example: '822569775449171' nullable: true first_name: type: string description: '' example: architecto last_name: type: string description: '' example: architecto email: type: string description: 'Must be a valid email address.' example: zbailey@example.net address: type: string description: '' example: architecto city: type: string description: '' example: architecto state: type: string description: '' example: architecto zipcode: type: number description: '' example: 4326.41688 sim_type: type: string description: '' example: esim enum: - physical - esim mdn: type: string description: 'Must be between 10 and 15 digits.' example: '1374491716806' account_number: type: string description: '' example: architecto account_password: type: string description: '' example: architecto authorizer_first_name: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_last_name: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_address: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_city: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_state: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_zipcode: type: number description: 'This field is required when brand_id is 16 or 18.' example: 4326.41688 nullable: true phone: type: string description: 'Must be between 10 and 15 digits.' example: '1374491716806' nullable: true required: - brand_id - plan_id - first_name - last_name - email - address - city - state - zipcode - sim_type - mdn - account_number - account_password /api/portin-with-card: post: summary: '' operationId: postApiPortinWithCard description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: number description: 'The id of an existing record in the brands table.' example: 4326.41688 plan_id: type: number description: 'The id of an existing record in the plans table.' example: 4326.41688 imei: type: string description: 'Must be 15 digits.' example: '822569775449171' nullable: true first_name: type: string description: '' example: architecto last_name: type: string description: '' example: architecto email: type: string description: 'Must be a valid email address.' example: zbailey@example.net address: type: string description: '' example: architecto city: type: string description: '' example: architecto state: type: string description: '' example: architecto zipcode: type: number description: '' example: 4326.41688 sim_type: type: string description: '' example: esim enum: - physical - esim mdn: type: string description: 'Must be between 10 and 15 digits.' example: '1374491716806' account_number: type: string description: '' example: architecto account_password: type: string description: '' example: architecto authorizer_first_name: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_last_name: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_address: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_city: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_state: type: string description: 'This field is required when brand_id is 16 or 18.' example: architecto nullable: true authorizer_zipcode: type: number description: 'This field is required when brand_id is 16 or 18.' example: 4326.41688 nullable: true phone: type: string description: 'Must be between 10 and 15 digits.' example: '1374491716806' nullable: true required: - brand_id - plan_id - first_name - last_name - email - address - city - state - zipcode - sim_type - mdn - account_number - account_password /api/helix/suspend: post: summary: '' operationId: postApiHelixSuspend description: '' parameters: [] responses: { } tags: - Endpoints /api/helix/deactivate: post: summary: '' operationId: postApiHelixDeactivate description: '' parameters: [] responses: { } tags: - Endpoints /api/helix/resotre: post: summary: '' operationId: postApiHelixResotre description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: mdn: type: string description: '' example: architecto required: - mdn '/api/transaction/{public_id}': get: summary: '' operationId: getApiTransactionPublic_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: public_id description: 'The ID of the public.' example: architecto required: true schema: type: string /api/esim/qr: post: summary: '' operationId: postApiEsimQr description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: number description: 'The id of an existing record in the brands table.' example: 4326.41688 sim_no: type: string description: '' example: architecto required: - brand_id - sim_no '/api/esim/qr/{public_id}': get: summary: '' operationId: getApiEsimQrPublic_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: public_id description: 'The ID of the public.' example: architecto required: true schema: type: string '/api/esim/qr/v2/{public_id}': get: summary: '' operationId: getApiEsimQrV2Public_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: status_code: 401 success: false message: Unauthenticated. data: null properties: status_code: type: integer example: 401 success: type: boolean example: false message: type: string example: Unauthenticated. data: type: string example: null tags: - Endpoints parameters: - in: path name: public_id description: 'The ID of the public.' example: architecto required: true schema: type: string /api/coupon-referral-code: post: summary: '' operationId: postApiCouponReferralCode description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: string description: '' example: architecto plan_id: type: string description: '' example: architecto month: type: string description: '' example: architecto required: - brand_id - plan_id - month /api/device/check-imei: post: summary: '' operationId: postApiDeviceCheckImei description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: imei: type: string description: 'Must be 15 digits.' example: '822569775449171' brand_id: type: integer description: '' example: 16 required: - imei - brand_id /api/getTaxRateByAddress: post: summary: '' operationId: postApiGetTaxRateByAddress description: '' parameters: [] responses: { } tags: - Endpoints /api/taxRatesCalculation: post: summary: '' operationId: postApiTaxRatesCalculation description: '' parameters: [] responses: { } tags: - Endpoints /api/customer/login: post: summary: '' operationId: postApiCustomerLogin description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net password: type: string description: '' example: architecto required: - email - password /api/customer/register: post: summary: '' operationId: postApiCustomerRegister description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string description: 'Must not be greater than 255 characters.' example: b last_name: type: string description: 'Must not be greater than 255 characters.' example: 'n' email: type: string description: 'Must be a valid email address.' example: ashly64@example.com password: type: string description: 'Must be at least 6 characters.' example: pBNvYg gender: type: string description: '' example: other enum: - male - female - other phone: type: string description: 'Must not be greater than 11 characters.' example: hwaykc required: - first_name - last_name - email - password - gender - phone /api/customer/send-otp: post: summary: '🔹 Send OTP using either email or MDN.' operationId: SendOTPUsingEitherEmailOrMDN description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net nullable: true mdn: type: string description: 'Must be at least 10 characters. Must not be greater than 15 characters.' example: m nullable: true brand_id: type: integer description: '' example: 16 required: - brand_id /api/customer/verify-otp: post: summary: '🔹 Verify OTP using either email or MDN.' operationId: VerifyOTPUsingEitherEmailOrMDN description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net nullable: true mdn: type: string description: 'Must be at least 10 characters. Must not be greater than 15 characters.' example: m nullable: true otp: type: string description: 'Must be 6 digits.' example: '569775' brand_id: type: integer description: '' example: 16 required: - otp - brand_id /api/customer/check-email: post: summary: '' operationId: postApiCustomerCheckEmail description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net required: - email /api/customer/cards: get: summary: 'List all cards for the logged-in customer.' operationId: listAllCardsForTheLoggedInCustomer description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints post: summary: 'Store a new customer card.' operationId: storeANewCustomerCard description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: card_name: type: string description: 'Must not be greater than 255 characters.' example: b card_type: type: string description: 'Must not be greater than 50 characters.' example: 'n' name: type: string description: 'Must not be greater than 255 characters.' example: g email: type: string description: 'Must be a valid email address. Must not be greater than 255 characters.' example: rowan.gulgowski@example.com phone_number: type: string description: 'Must not be greater than 20 characters.' example: dljnikhwaykcmyuw country_code: type: string description: 'Must not be greater than 10 characters.' example: pwlvqw address: type: string description: 'Must not be greater than 255 characters.' example: r city: type: string description: 'Must not be greater than 255 characters.' example: s state: type: string description: 'Must not be greater than 255 characters.' example: i zip_code: type: string description: 'Must not be greater than 20 characters.' example: tcpscqldzsnrwtuj card_number: type: string description: '' example: architecto payment_method_id: type: string description: 'Must not be greater than 255 characters.' example: 'n' brand_id: type: integer description: 'The id of an existing record in the brands table.' example: 16 is_default: type: string description: '' example: '1' enum: - '0' - '1' nullable: true required: - card_name - card_type - name - email - phone_number - country_code - address - city - state - zip_code - card_number - payment_method_id - brand_id '/api/customer/cards/{id}': get: summary: 'Show a single card owned by the customer.' operationId: showASingleCardOwnedByTheCustomer description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints put: summary: 'Update a card.' operationId: updateACard description: '' parameters: [] responses: { } tags: - Endpoints delete: summary: 'Delete a card.' operationId: deleteACard description: '' parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: id description: 'The ID of the card.' example: architecto required: true schema: type: string /api/customer/profile: get: summary: '' operationId: getApiCustomerProfile description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints put: summary: "Update the logged-in customer's profile." operationId: updateTheLoggedInCustomersProfile description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string description: 'Must not be greater than 255 characters.' example: b nullable: true last_name: type: string description: 'Must not be greater than 255 characters.' example: 'n' nullable: true address: type: string description: 'Must not be greater than 255 characters.' example: g nullable: true city: type: string description: 'Must not be greater than 255 characters.' example: z nullable: true state: type: string description: 'Must not be greater than 255 characters.' example: m nullable: true zip_code: type: string description: 'Must not be greater than 20 characters.' example: iyvdljnikhwaykcm nullable: true date_of_birth: type: string description: 'Must be a valid date. Must be a date before today.' example: '2022-01-31' gender: type: string description: '' example: female enum: - male - female - other password: type: string description: 'Must be at least 6 characters.' example: ']|{+-0pBNvYg' nullable: true required: - date_of_birth - gender /api/customer/orders: get: summary: '' operationId: getApiCustomerOrders description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints '/api/customer/orders/{public_id}': get: summary: '' operationId: getApiCustomerOrdersPublic_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints parameters: - in: path name: public_id description: 'The ID of the public.' example: architecto required: true schema: type: string /api/customer/latest-order: get: summary: '' operationId: getApiCustomerLatestOrder description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints '/api/customer/usage/{id}': post: summary: '' operationId: postApiCustomerUsageId description: '' parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: id description: 'The ID of the usage.' example: architecto required: true schema: type: string /api/customer/autopays: get: summary: '' operationId: getApiCustomerAutopays description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: integer description: 'The id of an existing record in the brands table.' example: 16 required: - brand_id '/api/customer/autopays/cancel/{id}': post: summary: '' operationId: postApiCustomerAutopaysCancelId description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: brand_id: type: integer description: 'The id of an existing record in the brands table.' example: 16 required: - brand_id parameters: - in: path name: id description: 'The ID of the cancel.' example: architecto required: true schema: type: string /api/forgot-password: post: summary: '' operationId: postApiForgotPassword description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net required: - email /api/reset-password: post: summary: '' operationId: postApiResetPassword description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net token: type: string description: '' example: architecto password: type: string description: '' example: architecto required: - email - token - password /api/validate-reset-token: post: summary: '' operationId: postApiValidateResetToken description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net token: type: string description: '' example: architecto required: - email - token