# Denied Party Screening

This API operation is used to submit shipper and/or consignee address information for denied party screening and receive a compliance status indicating whether the address is approved, potentially matched, or matched to a restricted entity.
The API does not approve or reject shipments; instead, it provides actionable compliance insights that clients can use to determine next steps.

Endpoint: POST /api/v1/denied-party-screening
Version: 1.0.0
Security: bearerAuth

## Request fields (application/json):

  - `addresses` (array, required)
    List of addresses to be screened. It includes a consignee and/or shipper.
    Example: [{"addressType":"CONSIGNEE","address":{"addressLine1":"27 Waterview Dr","cityTown":"Shelton","company":"Pitney Bowes","countryCode":"US","email":"john.doe@example.com","name":"pablo Escobar","phone":"123-456-7890","postalCode":"06484-4675","residential":false,"stateProvince":"CT"}},{"addressType":"SHIPPER","address":{"name":"Jason Henley","addressLine1":"74 Thame rd","addressLine2":"Warborough","addressLine3":"Wallingford","cityTown":"Oxfordshire","stateProvince":"TX","postalCode":"OX10 7DG","countryCode":"UA","email":"ovidiu131183@yahoo.com","phone":"123-456-7891"}}]

  - `addresses.addressType` (string, required)
    Identifies whether the address belongs to the shipper or consignee.
    Enum: "SHIPPER", "CONSIGNEE"

  - `addresses.address` (object, required)

  - `addresses.address.name` (string, required)
    Full name of the person associated with the address.
    Example: "Pablo Escobar"

  - `addresses.address.company` (string)
    Company name associated with the address, if applicable.
    Example: "Pitney Bowes"

  - `addresses.address.addressLine1` (string, required)
    Primary street address line.
    Example: "27 Waterview Dr"

  - `addresses.address.addressLine2` (string)
    Additional street address information (line 2).
    Example: "Warborough"

  - `addresses.address.addressLine3` (string)
    Additional street address information (line 3).
    Example: "Wallingford"

  - `addresses.address.cityTown` (string, required)
    City or town for the address.
    Example: "Shelton"

  - `addresses.address.stateProvince` (string)
    State or province.
    Example: "CT"

  - `addresses.address.postalCode` (string)
    Postal code / ZIP code.
    Example: "06484-4675"

  - `addresses.address.countryCode` (string, required)
    Two- or three-character country code (ISO 3166-1 alpha-2 or alpha-3).
    Example: "US"

  - `addresses.address.email` (string)
    Email address associated with the party.
    Example: "john.doe@example.com"

  - `addresses.address.phone` (string)
    Phone number associated with the party.
    Example: "123-456-7890"

  - `addresses.address.residential` (boolean)
    Indicates whether the address is residential. If omitted, defaults to false.

## Response 200 fields (application/json):

  - `addresses` (array, required)
    List of addresses that were screened for denied party restrictions. Each address is evaluated independently and includes the screening outcome.

  - `addresses.addressType` (string, required)
    Indicates the role of the address being screened.
    Enum: same as `addresses.addressType` (2 values)

  - `addresses.address` (object, required)

  - `addresses.screeningResult` (object, required)

  - `addresses.screeningResult.status` (string, required)
    Result of the denied party screening performed on the address.
    Enum: "APPROVED", "POTENTIAL MATCHED", "MATCHED"

  - `addresses.screeningResult.message` (string, required)
    Additional information describing the screening outcome.
    Example: "Consignee details are completely verified."

  - `addresses.screeningResult.restrictionPartyList` (array)
    List of governmental regulatory denied party lists on which the
shipper or consignee may exist. Returned only when a match or
potential match is identified.

  - `addresses.screeningResult.restrictionPartyList.restrictionParty` (string, required)
    Name of the governmental regulatory denied party list.
    Example: "EMBARGOED-COUNTRY"

  - `addresses.screeningResult.restrictionPartyList.country` (string, required)
    Country associated with the denied party restriction.
    Example: "UA"

  - `addresses.screeningResult.restrictionPartyList.matchScore` (number)
    Confidence score indicating how closely the screened data matched
a restricted party record.
    Example: 1

  - `addresses.screeningResult.restrictionPartyList.matchType` (string)
    The type or category of data that was matched during the screening process. It identifies what kind of information triggered the match—for example, whether it was a person's name or address
    Enum: "name and/or company", "address"

  - `addresses.screeningResult.restrictionPartyList.matchValue` (string)
    The specific name string that matched a record on a restricted list. This will only be returned when the match type is name or company.
    Example: "Pablo Escobar"

## Response 400 fields (application/json):

  - `errors` (array)
    List of errors.

  - `errors.errorCode` (string)
    This is the code of the error. [Error Codes](/docs/cbds/error-handling)
    Example: "PB-XECOM-ERR-XXXX"

  - `errors.errorDescription` (string)
    - The HTTP 400 Bad Request response status code indicates that the server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- errorDescription always returned in the error response.
    Example: "Invalid Value."

  - `errors.additionalInfo` (string)
    additional information of the error. This field may or may not returned in the response.
    Example: "additional information"

  - `errors.additionalParameters` (array)
    Additional context or parameters related to the error.
    Example: ["item.hsTariffCode"]

## Response 401 fields (application/json):

  - `message` (string, required)
    This is HTTP 401 Unauthorized response status code, that indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.
    Example: "Unauthorized"

## Response 500 fields (application/json):

  - `message` (string, required)
    This is HTTP 500 Internal Server Error response status code, which indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
    Example: "Server error"


