# BIN lookup

Perform a BIN (Bank Identification Number) lookup using a card's PAN (Primary Account Number). This will return high-level data about the card, such as the issuer, card type, and funding source. For more details, use the extended endpoint.

Endpoint: POST /bin-recognition/bin-range-lookup
Version: 1.0.0

## Request fields (application/json):

  - `primaryAccountNumber` (string, required)
    The unique number assigned to a payment card, such as a credit or debit card. This number typically contains 16 digits, structured in a specific format to indicate the card network, issuing bank, and account number.
    Example: "4111111111111111"

## Response 200 fields (application/json):

  - `fromBin` (integer)
    The starting number of the BIN range. This information helps businesses identify the first number in a series of card numbers issued by a single card issuer, aiding in card validation and fraud detection.
    Example: 41110000

  - `toBin` (integer)
    The ending number of the BIN range. This detail is crucial for determining the scope of card numbers associated with a specific card issuer, enabling accurate card verification.
    Example: 41112099

  - `issuerName` (string)
    The name of the financial institution that issued the card. This information is essential for transaction authentication and understanding the issuer's reputation and reliability.

  - `issuerCountryCode` (string)
    The country code of the card issuer, in ISO 3166-1 numeric format (3 digits). This is important for you to manage cross-border transactions, comply with regional regulations, and understand the geographical distribution of their customer base.
    Example: "840"

  - `issuerMemberId` (string)
    A unique identifier for the card issuer member. This aids in distinguishing between different entities within the same financial network for advanced transaction processing.
    Example: "BofA-V1234567"

  - `cardScheme` (string)
    The card network (e.g., Visa, MasterCard). This is essential for processing transactions according to the specific card scheme's guidelines and for compatibility with payment gateways.
    Example: "Visa"

  - `cardType` (string)
    The type of card (e.g., Visa, MasterCard). This field may contain similar information to cardScheme and can be used as a fallback when cardScheme is not available. Both fields are populated from the BIN lookup data source.
    Example: "Visa"

  - `fundingSource` (string)
    The type of funding for the card (e.g., credit, debit). This can help you tailor payment options and understand the customer's spending behaviour.
    Enum: "Credit", "Debit", "Prepaid"

  - `ownerType` (string)
    The type of owner. Identifies if the card is owned by an consumer or a commercial entity. This is useful for personalisation of services and risk management in transaction processing.
    Enum: "Consumer", "Commercial"

  - `currencyCode` (string)
    The currency associated with the card, in ISO 4217 format.
    Example: "EUR"

  - `binLength` (integer)
    The length of the BIN number. This information is vital for validating the format of the card number and ensuring compliance with industry standards.
    Example: 8

  - `gamingCreditSupported` (boolean,null)
    Whether the card supports gaming credits. This is particularly relevant for businesses in the gaming industry for payment option compatibility.

  - `productName` (string)
    The name of the product.
    Example: "Debit Plus"

  - `productTarget` (string)
    The target market or region for the product.
    Example: "USA"

  - `isAnonymousProduct` (boolean,null)
    Whether the product is anonymous.
    Example: true

  - `rangeType` (string)
    The type of range associated with the product.
    Example: "none"

## Response 400 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 401 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 403 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 404 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 413 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 422 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response 500 fields (application/json):

  - `correlationId` (string)
    This is a unique reference generated by the PSP to locate the error.
    Example: "81f32b80-2ba0-4430-8ecd-0b559274ba9c"

  - `details` (array)

  - `errorCode` (string)
    The error code returned for the operation.
    Example: "This is the error code returned for the operation."

  - `errorReason` (string)
    The error reason returned for the operation.
    Example: "This is the error reason returned for the operation."

## Response default fields (application/json):

  - `correlationId` (string, required)

  - `details` (array)

  - `errorCode` (string, required)

  - `errorReason` (string, required)


