openapi: 3.0.3 info: title: 'Numberyo API Documentation' description: '' version: 1.0.0 servers: - url: 'https://www.numberyo.tech' tags: - name: Endpoints description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: [] paths: /api/checks: get: summary: "List user's checks" operationId: listUsersChecks description: 'Returns the last 10 checks (HLR or Verify) of your account, with pagination.' parameters: - in: query name: page description: 'The page number to retrieve.' example: 2 required: false schema: type: integer description: 'The page number to retrieve.' example: 2 nullable: false responses: 200: description: '' content: application/json: schema: type: object example: checks: - id: 42 type: HLR created_at: '2025-03-30T14:21:00.000000Z' pagination: current_page: 1 total_pages: 4 total: 32 properties: checks: type: array example: - id: 42 type: HLR created_at: '2025-03-30T14:21:00.000000Z' items: type: object properties: id: type: integer example: 42 type: type: string example: HLR created_at: type: string example: '2025-03-30T14:21:00.000000Z' pagination: type: object properties: current_page: type: integer example: 1 total_pages: type: integer example: 4 total: type: integer example: 32 tags: - Endpoints post: summary: 'Create a new check (HLR or Verify)' operationId: createANewCheckHLROrVerify description: "This endpoint allows you to initiate a new check (either HLR or Verify) for a given phone number.\nReturns the result of the check immediately." parameters: [] responses: 201: description: '' content: application/json: schema: type: object example: status: true message: 'Check successfully created.' check: id: 123 type: HLR source: API user_cost: '1.00' created_at: '2025-03-30T14:10:23Z' results: type: HLR results: - country_code: 32 country_name: Belgium operator_name: 'Proximus NV van publiek recht' msisdn: '32456789023' ported: false reachable: true valid_number: true plmn: '20601' mcc: '206' mnc: '01' imsi: '206010000000000' local_format: '456789023' msc: null original_operator_name: null number_requested: '32456789023' created_at: '2025-03-30T12:41:00.000000Z' properties: status: type: boolean example: true message: type: string example: 'Check successfully created.' check: type: object properties: id: type: integer example: 123 type: type: string example: HLR source: type: string example: API user_cost: type: string example: '1.00' created_at: type: string example: '2025-03-30T14:10:23Z' results: type: object properties: type: type: string example: HLR results: type: array example: - country_code: 32 country_name: Belgium operator_name: 'Proximus NV van publiek recht' msisdn: '32456789023' ported: false reachable: true valid_number: true plmn: '20601' mcc: '206' mnc: '01' imsi: '206010000000000' local_format: '456789023' msc: null original_operator_name: null number_requested: '32456789023' created_at: '2025-03-30T12:41:00.000000Z' items: type: object properties: country_code: type: integer example: 32 country_name: type: string example: Belgium operator_name: type: string example: 'Proximus NV van publiek recht' msisdn: type: string example: '32456789023' ported: type: boolean example: false reachable: type: boolean example: true valid_number: type: boolean example: true plmn: type: string example: '20601' mcc: type: string example: '206' mnc: type: string example: '01' imsi: type: string example: '206010000000000' local_format: type: string example: '456789023' msc: type: string example: null original_operator_name: type: string example: null number_requested: type: string example: '32456789023' created_at: type: string example: '2025-03-30T12:41:00.000000Z' 422: description: '' content: application/json: schema: type: object example: status: false message: 'Error creating check.' error: "You don't have enough credits to perform this action (X credits)." properties: status: type: boolean example: false message: type: string example: 'Error creating check.' error: type: string example: "You don't have enough credits to perform this action (X credits)." tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: phone_number: type: string description: 'The phone number to check, in international or national format.' example: '32456789023' nullable: false type: type: string description: 'The type of check to perform. Must be either `HLR` or `Verify`.' example: HLR nullable: false required: - phone_number - type '/api/checks/{id}/results': get: summary: 'Get check results (HLR or Verify)' operationId: getCheckResultsHLROrVerify description: 'Returns the results of a specific check based on its type (HLR or Verify).' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: type: HLR results: - country_code: 32 country_name: Belgium operator_name: 'Proximus NV van publiek recht' msisdn: '32456789023' ported: false reachable: true valid_number: true plmn: '20601' mcc: '206' mnc: '01' imsi: '206010000000000' local_format: '456789023' msc: null original_operator_name: null number_requested: '32456789023' created_at: '2025-03-30T12:41:00.000000Z' properties: type: type: string example: HLR results: type: array example: - country_code: 32 country_name: Belgium operator_name: 'Proximus NV van publiek recht' msisdn: '32456789023' ported: false reachable: true valid_number: true plmn: '20601' mcc: '206' mnc: '01' imsi: '206010000000000' local_format: '456789023' msc: null original_operator_name: null number_requested: '32456789023' created_at: '2025-03-30T12:41:00.000000Z' items: type: object properties: country_code: type: integer example: 32 country_name: type: string example: Belgium operator_name: type: string example: 'Proximus NV van publiek recht' msisdn: type: string example: '32456789023' ported: type: boolean example: false reachable: type: boolean example: true valid_number: type: boolean example: true plmn: type: string example: '20601' mcc: type: string example: '206' mnc: type: string example: '01' imsi: type: string example: '206010000000000' local_format: type: string example: '456789023' msc: type: string example: null original_operator_name: type: string example: null number_requested: type: string example: '32456789023' created_at: type: string example: '2025-03-30T12:41:00.000000Z' 400: description: '' content: application/json: schema: type: object example: message: 'Unsupported check type.' properties: message: type: string example: 'Unsupported check type.' 404: description: '' content: application/json: schema: type: object example: message: 'Check not found or access denied.' properties: message: type: string example: 'Check not found or access denied.' tags: - Endpoints parameters: - in: path name: id description: 'The ID of the check to retrieve.' example: 42 required: true schema: type: integer