Skip to content

Person object

The person for whom your application requests the job. This represents a B2B contact.

Schema

The job's payload.person property is of type PersonV1.

A PersonV1 object has five properties, as described below:

firstName: string
The full first name, or given name, whenever possible. Abbreviations or initials might reduce accuracy. Single-letter names are accepted, as they are valid in some cultures (for example, the Korean name 오 or the Japanese name 王 are romanized as the Latin letter O). In the U.S., single-letter names like J or J. are also possible. Example: "Jane"
middleNames: string optional
Middle names are optional; initials are acceptable. Including middle names can improve accuracy, especially for common name combinations. Example: "E."
lastName: string
The full last name, or family name or surname. Example: "Smith"
source: JobV2Source optional
The source of this Person object. See Source of an attribute for more details.
isValid: boolean read-only

Indicates whether the person's name fields satisfy the naming validation requirements. Returns true when all provided name fields contain only supported characters. Example: true

Info

If any of the person's name fields contain unsupported characters, the job will be "rejected" with the "JobPersonInvalidNameRejectReason" reason. For more details, see Name validation.

Name validation

Name fields (firstName, lastName, and middleNames if provided) are validated against the Unicode pattern:

^(?=.*[\p{L}\p{M}])[\p{L}\p{M}\p{Zs}'\-.]+$

Allowed Characters

  • Letters: Any Unicode letter across scripts (Latin, Cyrillic, Greek, Arabic, CJK, etc.). Must contain at least one letter or mark.
  • Marks: Combining accents and diacritics.
  • Spaces: Unicode space separators.
  • Punctuation: Apostrophes ('), hyphens (-), and periods (.).

Unsupported / Invalid Characters

  • Digits / Numbers: 0–9 and any Unicode numeric digits.
  • Special Symbols & Math Characters: @, #, $, %, &, *, +, =, _, ~, ^, |, \, /.
  • Other Punctuation: Commas (,), colons (:), semicolons (;), exclamation marks (!), question marks (?), quotes ("), brackets/braces ((), [], {}), and angle brackets or guillemets (< >, « »).
  • Non-space Control Characters: Tabs (\t), line breaks (\n, \r), and control codes.
  • Emojis & Icons: \p{S} (e.g., 😀, ™, ©).
  • Missing Letters/Marks: Strings consisting entirely of spaces, hyphens, periods, or apostrophes (e.g., "-", ".", " ").

Example

job-request.json
{
  "payload": {
    "person": {
      "firstName": "John",
      "middleNames": null,
      "lastName": "Doe",
      "source": {
        ...
      },
    },
    ...
  },
  ...
}

Modigie will not modify the properties of a Person.

job-response.json
{
  "payload": {
    "person": {
      "firstName": "John",
      "middleNames": null,
      "lastName": "Doe",
      "source": {
        ...
      },
      "isValid": true
    },
    ...
  },
  ...
}

Schema: PersonV1