Skip to content
On this page

Create Phone Number verification Request.

Accepts requests for creating a Phone Number Verification Request.

Endpoints

EnvironmentURL
Sandboxhttps://api-test.streamline.laboremus.ug/phone-verify/api/Verification?v=2.0
Productionhttps://api.streamline.laboremus.ug/phoneid/api/Verification?v=2.0

Request

Request Type : POST

Authorization

There are two ways to be authorized when making this request.

js
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT, 
  headers: {
    Authorization: `Bearer ${token}`
  }
)
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT, 
  headers: {
    Authorization: `Bearer ${token}`
  }
)
js
import axios from 'axios'
    import oauth from 'axios-oauth-client'
    
    const getClientCredentials = oauth.clientCredentials(
    axios.create(),
    'https://oauth.com/2.0/token',
    'CLIENT_ID',
    'CLIENT_SECRET'
    )

    const auth = await getClientCredentials('OPTIONAL_SCOPES')

    axios.post(API_ENDPOINT, 
      headers: {
        Authorization: `Bearer ${auth.access_token}`
      }
    )
import axios from 'axios'
    import oauth from 'axios-oauth-client'
    
    const getClientCredentials = oauth.clientCredentials(
    axios.create(),
    'https://oauth.com/2.0/token',
    'CLIENT_ID',
    'CLIENT_SECRET'
    )

    const auth = await getClientCredentials('OPTIONAL_SCOPES')

    axios.post(API_ENDPOINT, 
      headers: {
        Authorization: `Bearer ${auth.access_token}`
      }
    )

INFO

Always add your Subscription key to the request.

js
axios.post(API_ENDPOINT, 
  headers: {
    'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
  }
)
axios.post(API_ENDPOINT, 
  headers: {
    'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
  }
)
js
const res = await axios.post(API_ENDPOINT, { 
  params: { 
    Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2' 
  } 
});
const res = await axios.post(API_ENDPOINT, { 
  params: { 
    Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2' 
  } 
});

Request Values

NameTypeRequiredDescription
referenceIdstring or nullnoA Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request.
phoneNumberstringyesPhone number starting with prefix (256)

Example Request Body

json
{
	"referenceId": "string",
	"phoneNumber": "string"
}
{
	"referenceId": "string",
	"phoneNumber": "string"
}

Response

Response Values

Content type

application/json

NameTypeDescription
idstring (uuid)The unique id for the request
createdAtstring (date-time)Date the request was created.
requesterIdstring or nullThe unique Id for the request initiator
statusstring (Enum: Pending, Completed, Error)The status of the execution
verificationStatusstring (Enum: Unknown, Valid, Invalid)The verification status reply
phoneNumberstring or nullPhone number sent in request payload.
sentAtstring or null (date-time)Date the request was sent.
referenceIdstring or nullReference Id sent in the verification request.
responsePayloadstring or nullString containing a verification response.
processedAtstring or null (date-time)Date at which the verification request was processed.
isErrorbooleanA flag to show whether the request has errors
errorsarray of errorsThe errors that are returned.

errors

NameTypeDescription
suggestionstring[]List of suggestions related to the error.
codestringThe error code.
messagestringThe short message describing the error.
descriptionstringA detailed description of the error.
typestringThe type or category of the error.

Example Response Body

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "createdAt": "2019-08-24T14:15:22Z",
  "requesterId": "string",
  "status": "Pending",
  "verificationStatus": "Unknown",
  "phoneNumber": "string",
  "sentAt": "2019-08-24T14:15:22Z",
  "referenceId": "string",
  "responsePayload": "string",
  "processedAt": "2019-08-24T14:15:22Z",
  "isError": true,
  "errors": [    
    {
			"suggestion": [
				"string"
			],
			"code": "string",
			"message": "string",
			"description": "string",
			"type": "string"		
    }
  ]
}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "createdAt": "2019-08-24T14:15:22Z",
  "requesterId": "string",
  "status": "Pending",
  "verificationStatus": "Unknown",
  "phoneNumber": "string",
  "sentAt": "2019-08-24T14:15:22Z",
  "referenceId": "string",
  "responsePayload": "string",
  "processedAt": "2019-08-24T14:15:22Z",
  "isError": true,
  "errors": [    
    {
			"suggestion": [
				"string"
			],
			"code": "string",
			"message": "string",
			"description": "string",
			"type": "string"		
    }
  ]
}

Error Response

400 Bad Request

application/json

NameTypeDescription
statusCodeinteger(int32)The status of the error response

Example Error Response

json
{
 "statusCode": 0
}
{
 "statusCode": 0
}

401 Unauthorized

application/json

NameTypeDescription
statusCodeinteger(int32)The status of the error response

Example Error Response

json
{
 "statusCode": 0
}
{
 "statusCode": 0
}

500 Server Error

No response

Error Codes

When working with our PNV API, you'll encounter errors shown below. Each type of error comes with an appropriate code and suggestion to aid in troubleshooting.

All errors share the same basic response format.code indicating the error code,message providing an overview of the error, description to show more information about the error, suggestion to aid in troubleshooting and type describing the error type

CodeMessageDescriptionSuggestionType
S0001FAILED_TO_VERIFY_PHONE_NUMBERFailed to verify phone numberSomething went wrong, Please contact support at email support@laboremus.ugFatal
S0002INVALID_PHONE_NUMBERThe phone number provided is invalid.Phone Number should start with Uganda Country code (256)
Phone Number should have 12 digits (256712345678)
Data
S0003INVALID_NATIONAL_ID_NUMBERThe national id number(NIN) provided is invalid.NIN should start with the letter C or P
NIN should have 14 characters
(CF1234567D12UG)
Data
S0004INVALID_CREDENTIALSThe connection credentials provided are invalid.Please check whether the subscription key is correct or contact support at email support@laboremus.ugAuthentication
S0005INVALID_NETWORKThe Telecom Network provided is invalid.The phone number should be from either Airtel or MTNData
S0006ACCOUNTHOLDER_NOT_FOUNDThe account holder was not foundThe owner of the phone number was not foundData
S0007UNKNOWN_ERRORAn unknown error has occurred, preventing the requested action from being completed.Please try again later.If the issue persists, contact our support team at support@laboremus.ug with details about the action you were attempting to perform.Fatal

Tech served right