Synthetic job example Verify Mobile¶
Preview
This feature is not subject to our service terms. Pre-GA features are available as is and might have limited support.
Deterministic configuration¶
Tip
Synthetic repositories allow for streamlined testing of various scenarios and ensure your application functions correctly in submitting requests and processing resulting data.
Please see Synthetic tests to learn more about synthetic repositories.
In the table below you will learn how you produce a desired job response so you can test a specific case in your application.
This configuration allows for streamlined testing of various scenarios and ensures your application functions correctly in submitting requests and processing resulting data.
| Test case | Expected event code | Necessary input values |
|---|---|---|
| Job is rejected with bad request error. | N/A | You provide a phone number (syntax invalid or impossible) |
Provided Phone is returned with the phoneType set to MOBILE, and has a high rating for both numberActivity and numberNameMatch. |
verifyMobile="good_mobile" |
You provide a phone number (syntax valid and possible) and the first letter of first name between A and D |
Provided Phone is returned with the phoneType set to MOBILE, and has a low rating for both numberActivity and numberNameMatch. |
verifyMobile="no_good_mobile" |
You provide a phone number (syntax valid and possible) and the first letter of first name between E and G |
Provided Phone is returned with the phoneType set to MOBILE, and has an unknown rating for both numberActivity and numberNameMatch. |
verifyMobile="unable_to_verify" |
You provide a phone number (syntax valid and possible) and the first letter of first name between H and J |
Provided Phone is returned with the phoneType set to VOIP, and has a high rating for both numberActivity and numberNameMatch. |
verifyMobile="good_mobile" |
You provide a phone number (syntax valid and possible) and the first letter of first name between K and N |
Provided Phone is returned with the phoneType set to VOIP, and has a low rating for both numberActivity and numberNameMatch. |
verifyMobile="no_good_mobile" |
You provide a phone number (syntax valid and possible) and the first letter of first name between O and Q |
Provided Phone is returned with the phoneType set to VOIP, and has an unknown rating for both numberActivity and numberNameMatch. |
verifyMobile="unable_to_verify" |
You provide a phone number (syntax valid and possible) and the first letter of first name between R and T |
Provided Phone is returned with the phoneType set to LANDLINE, and has an unqualified rating for both numberActivity and numberNameMatch. |
verifyMobile="no_good_mobile" |
You provide a phone number (syntax valid and possible) and the first letter of first name between U and W |
Provided Phone is returned with the phoneType set to UNKNOWN, and has an unknown rating for both numberActivity and numberNameMatch. |
verifyMobile="unable_to_verify" |
You provide a phone number (syntax valid and possible) and the first letter of first name between X and Z |
Job request¶
Your application must publish the job request in the Pub/Sub topic for verifyMobile job requests, see Pub/Sub topics.
Message attributes¶
modigieJobRequestId = personA_verifyMobile_1-
The ID of the job request must be unique within your repository. If your repository creates the job, this request ID becomes the
idvalue of the job resource.
Message data¶
{
"payload": {
"person": {
"firstName": "John",
"lastName": "Doe",
"source": {
"objectId": "personId1",
"propertyName": "name"
}
},
"phoneNumbers": [
{
"phoneNumber": {
"userFormat": "(202) 555-0100"
},
"source": {
"objectId": "personId1",
"propertyName": "mobile"
}
}
]
}
}
Job response¶
Your application can get the job response from the Pub/Sub subscription for verifyMobile job responses, see Pub/Sub topics. Depending on the configuration of your repository this may be a pull subscription, a push subscription, or both.
Message attributes¶
modigieJobRequestId = personA_verifyMobile_1- This is the request ID that your application used when publishing the request message. If the repository creates the job, this request ID becomes the
idvalue of the job resource.
Message data¶
The highlighted lines in the job response below show the elements that Modigie has written.
URLs, email addresses, and phone numbers—whether provided by your application as input parameters or appended by Modigie—include validated syntax information. Depending on the job type, some attributes have additional intelligence data. For details, see Job types and Outputs.
{
"createTime": "2025-08-13T13:44:36.674862Z",
"deleteTime": null,
"dispatchTime": "2025-08-13T13:44:38.431904Z",
"endTime": "2025-08-13T13:44:40.703329Z",
"events": {
"appendLinkedIn": null,
"appendMobile": null,
"verifyEmployment": null,
"verifyMobile": {
"code": "unable_to_verify"
},
"verifyPhone": null
},
"expireTime": null,
"id": "personA_verifyMobile_1",
"jobType": "verifyMobile",
"name": "pipelines/inpubsub_my-synth-1/jobs/personA_verifyMobile_1",
"payload": {
"addresses": [],
"countries": [],
"emailAddresses": [],
"employment": null,
"locations": [],
"person": {
"firstName": "John",
"lastName": "Doe",
"middleNames": null,
"source": {
"objectId": "personId1",
"objectSystem": null,
"objectType": null,
"propertyName": "name"
}
},
"phoneNumbers": [
{
"callWindows": [],
"compliance": null,
"phoneNumber": {
"country": {
"alpha2": "US",
"alpha3": "USA",
"num3": "840",
"officialName": "United States of America",
"title": "United States"
},
"e164Format": "+12025550100",
"intlFormat": "+1 202-555-0100",
"isPossible": true,
"isValid": true,
"ituCountryCode": 1,
"natlFormat": "(202) 555-0100",
"presumedPhoneType": "mobile",
"userFormat": "(202) 555-0100"
},
"phoneType": "mobile",
"rating": {
"numberActivity": {
"code": "unknown",
"score": 30
},
"numberNameMatch": {
"code": "unknown",
"score": 30
},
"score": 30
},
"rels": [],
"smsEmailAddresses": [],
"source": {
"objectId": "personId1",
"objectSystem": null,
"objectType": null,
"propertyName": "mobile"
}
}
],
"tags": [],
"urls": []
},
"priority": 50,
"purgeTime": null,
"reason": null,
"repository": {
"id": "my-synth-1",
"name": "orgs/Q8IRqGvOcGG8lt4dWa3e/repositories/my-synth-1",
"org": {
"id": "Q8IRqGvOcGG8lt4dWa3e",
"name": "orgs/Q8IRqGvOcGG8lt4dWa3e"
},
"repoType": "inpubsub"
},
"startTime": "2025-08-13T13:44:38.482094Z",
"status": "completed",
"updateTime": "2025-08-13T13:44:40.703329Z"
}