---
title: "Verify"
method: POST
path: "/connect/account/verify"
tags: ["Account"]
---

# Verify

`POST /connect/account/verify`

## Request

- Base URL: `https://pos.uk.eagleeye.com/2.0`
- URL: `https://pos.uk.eagleeye.com/2.0/connect/account/verify`
- Auth: API key in header `X-EES-AUTH-CLIENT-ID` and API key in header `X-EES-AUTH-HASH`

This API endpoint allows the calling application to verify an Account. Please note this endpoint should be used only in real-time mode

## Headers

- `Accept-Encoding` '''' | ''gzip'' | ''deflate'' | ''gzip,deflate'' | ''deflate,gzip''
- `Connection` 'keep-alive' | 'close'
- `Content-Type` string, string
- `X-EES-AUTH-CLIENT-ID` string, string, required
- `X-EES-AUTH-HASH` string, string, required
- `X-EES-TRANSACTION-ID` string, string
- `X-CUSTOM-SUBSYSTEM-ID` string, string
- `X-CUSTOM-KEY` string, string

## Request body

- union
  - object
    - `accountId` string, string, required: EES AIR Account ID.
    - `walletId` string, string: Wallet ID, if this optional attribute is provided EES AIR will perform an additional sanity check if requested accountId belongs to a specified Wallet.
    - `pin` string, string: Optional Token's PIN.
    - `transactionDetails` MetaEntity: Key-Value object, please note key name length should be less then 255 characters and key values should be less then 255 characters
    - `location` LocationEntity
      - `incomingIdentifier` string, string, required: Optional Outlet Incoming Identifier allowing to override location arisen from used API Key of where this transaction has happened
      - `parentIncomingIdentifier` string, string: Outlet's Parent unit Incoming Identifier allowing to uniquely identify an Outlet override arisen from used API Key location where this transaction has happened. Please note this optional JSON attribute should be used in case incoming identifiers are not unique within a Client's Hierarchy
    - `lock` boolean: Optional boolean flag, allowing the calling application to instruct AIR to lock verified Account.
  - object
    - `token` string, string, required: Token identifying an EES AIR Account.
    - `pin` string, string: Optional Token's PIN.
    - `transactionDetails` MetaEntity: Key-Value object, please note key name length should be less then 255 characters and key values should be less then 255 characters
    - `location` LocationEntity
      - `incomingIdentifier` string, string, required: Optional Outlet Incoming Identifier allowing to override location arisen from used API Key of where this transaction has happened
      - `parentIncomingIdentifier` string, string: Outlet's Parent unit Incoming Identifier allowing to uniquely identify an Outlet override arisen from used API Key location where this transaction has happened. Please note this optional JSON attribute should be used in case incoming identifiers are not unique within a Client's Hierarchy
    - `lock` boolean: Optional boolean flag, allowing the calling application to instruct AIR to lock verified Account.

## Response `200`

EES AIR has successfully processed a Request

- AccountResponse
  - `accountTransaction` object, required: Object representing an account transaction.
    - `accountTransactionId` string, required: The account transaction ID.
    - `accountId` string, required: The account id related to this transaction.
    - `parentAccountTransactionId` string, nullable, required: The parent account transaction.
    - `event` 'CREATE' | 'REDEEM' | 'LOCK' | 'UNLOCK' | 'UNREDEEM' | 'VERIFY' | 'ACTIVATE' | 'INACTIVATE' | 'REACTIVATE' | 'LOAD' | 'CREDIT' | 'DEBIT' | 'BALANCE' | 'INVALIDATE' | 'BLOCK' | 'UNBLOCK' | 'RESEND' | 'STOLEN' | 'CANCEL' | 'VOID' | 'REISSUE' | 'REFUND' | 'TRANSFER' | 'TRANSFER_IN' | 'TOPUP' | 'AUTOTOPUP' | 'STAMP' | 'SPEND', required: The type of transaction.
    - `value` integer, required: The value related to this Account Transaction. Typically, if an account transaction like credit was executed with a value, then this value will be stored here. For Continuity, however, this value should always be 0, and the same for Coupon (since there is no value for a coupon).
    - `source` string, required: The source of this transaction e.g. from a client (1), or triggered automatically (2) from within EES AIR (e.g. auto-top-up or the incrementation of Quest balances).
    - `transactionDetails` object, nullable, required: An simple object of key value pairs representing the transaction details.
    - `balancesBefore` AccountTransactionBalancesHistoryEntity, required: The object of balances to show for either before or after the account transaction. Some balances only apply to certain types of accounts. See notes below on balances.
      - `available` integer: The available balance. This is applicable for all account types, except STAMP, POINTS and CONTINUITY, which uses its own balance keys, and ECOUPON, which has no concept of a balance.
      - `refundable` integer: The refundable balance. This is applicable for all account types, except STAMP, ECOUPON, POINTS and CONTINUITY.
      - `current` integer: The current balance. Applicable only to accounts of type Points and Stamp.
      - `lifetime` integer: The lifetime balance. Applicable only to accounts of type Points and Stamp.
      - `totalSpend` integer: The total spend balance. Applicable only to accounts of type Continuity.
      - `transactionCount` integer: The transaction counter. Applicable only to accounts of type Continuity.
    - `balancesAfter` AccountTransactionBalancesHistoryEntity, required: The object of balances to show for either before or after the account transaction. Some balances only apply to certain types of accounts. See notes below on balances.
      - `available` integer: The available balance. This is applicable for all account types, except STAMP, POINTS and CONTINUITY, which uses its own balance keys, and ECOUPON, which has no concept of a balance.
      - `refundable` integer: The refundable balance. This is applicable for all account types, except STAMP, ECOUPON, POINTS and CONTINUITY.
      - `current` integer: The current balance. Applicable only to accounts of type Points and Stamp.
      - `lifetime` integer: The lifetime balance. Applicable only to accounts of type Points and Stamp.
      - `totalSpend` integer: The total spend balance. Applicable only to accounts of type Continuity.
      - `transactionCount` integer: The transaction counter. Applicable only to accounts of type Continuity.
    - `properties` object, nullable, required: Properties related to the account transaction.
    - `dateCreated` string, date-time, required: Date-time (ATOM format) this account transaction was created
    - `lastUpdated` string, date-time, required: Date-time (ATOM format) this account transaction was last updated
    - `account` object: EES AIR Account object.
      - `accountId` string, string, nullable, required: EES AIR Account ID. (Please note for open offers this field will be null)
      - `walletId` string, string, nullable, required: EES AIR Wallet ID. (Please note for non-wallet Clients this value will be empty)
      - `campaignId` string, required: The Campaign ID (Scheme ID, Programme ID or Plan ID) this Account belongs to.
      - `campaign` object, required: The campaign payload. See campaign documentation for details.
        - `campaignId` string: The Campaign ID (Scheme ID, Programme ID or Plan ID) this Account belongs to.
        - `campaignTypeId` string: The Campaign type ID of this campaign.
        - `campaignMode` 'OPEN' | 'RESTRICTED': Determines if the campaign operates in open or restricted mode.
        - `campaignName` string: The name of the campaign.
        - `accountTypeId` integer: Account Type ID (EES Internal Type Reference).
        - `startDate` string, ees-date-time: Start date of the campaign.
        - `endDate` string, ees-date-time, nullable: End date of the campaign.
        - `status` 'ACTIVE' | 'INACTIVE' | 'EXPIRED' | 'DELETED' | 'PENDING' | 'DRAFT' | 'REJECTED' | 'READY' | 'STOPPED' | 'SUSPENDED': The status of the Campaign.
        - `sequenceKey` string, nullable: The value of the barcode.
        - `reference` string, string, nullable: A reference string that is unique to this campaign.
        - `dateCreated` string, ees-date-time: Date that this campaign was created on.
        - `lastUpdated` string, ees-date-time: Date that this campaign was last updated.
        - `relationships` object, nullable
          - `OBJECTIVE_OF` object, nullable
            - `CAMPAIGN` object[]
              - …
          - `OBJECTIVE` object, nullable
            - `CAMPAIGN` object[]
              - …
          - `ENTITLEMENT` object, nullable
            - `CAMPAIGN` object[]
              - …
          - `ENTITLEMENT_OF` object, nullable
            - `PLAN` object[]
              - …
          - `AGGREGATE_CHILD` object, nullable
            - `SCHEME` object[]
              - …
          - `AGGREGATE_CHILD_OF` object, nullable
            - `SCHEME` object[]
              - …
          - `PROMOTION` object, nullable
            - `CAMPAIGN` object[]
              - …
          - `PROMOTION_OF` object, nullable
            - `CAMPAIGN` object[]
              - …
      - `type` 'ECOUPON' | 'VOUCHER' | 'STAMP_CARD' | 'PAPER' | 'DEBIT' | 'PLASTIC' | 'POINTS' | 'BASIC_SUBSCRIPTION' | 'CONTINUITY', required: EES AIR Wallet Account Type.
      - `clientType` string, string, nullable, required: Account Client's type, managed per EES AIR tenant, list of possible enum values could be set-up as part of the Onboarding process. (Please note&#58; for non-wallet Clients this value will be empty)
      - `status` 'ACTIVE' | 'BLOCKED' | 'CANCELLED' | 'DELETED' | 'EXPIRED' | 'INACTIVE' | 'INVALIDATED' | 'LOCKED' | 'STOLEN' | 'USED', required: Account Status
      - `state` string, string, nullable, required: Account State, managed per EES AIR tenant, list of possible enum values could be set-up as part of the Onboarding process. (Please note&#58; for non-wallet Clients this value will be empty)
      - `dates` DatesEntity, required
        - `start` string, date-time
        - `end` string, date-time
      - `accountMeta` MetaEntity, required: Key-Value object, please note key name length should be less then 255 characters and key values should be less then 255 characters
      - `balances` AccountBalancesEntity, required: The object of balances. Some balances only apply to certain types of accounts. See notes below on balances.
        - `available` integer: The available balance. This is applicable for all account types, except POINTS and CONTINUITY, which uses its own balance keys. For ECOUPON account type this property will be returned and will be equal to zero.
        - `refundable` integer: The refundable balance. This is applicable for all account types except POINTS and CONTINUITY, but is not used during account creation. For an Account Entity, the amount displayed here is the total refundable balance available. Please note for ECOUPON account type this property will be returned and equal to zero.
        - `totalSpend` integer: The total spend balance. Applicable only to accounts of type CONTINUITY.
        - `transactionCount` integer: The transaction counter. Applicable only to accounts of type CONTINUITY.
        - `current` integer: The current balance. Applicable only to accounts of type POINTS and STAMP. If current is not provided on creation, this will be set to 0.
        - `usable` integer: The usable balance. Applicable only to accounts of type POINTS. If usable is not provided on creation, this will be set to 0.
        - `locked` integer: The locked balance. Applicable only to accounts of type POINTS. If locked is not provided on creation, this will be set to 0.
        - `lifetime` integer: The lifetime balance. Applicable only to accounts of type POINTS and STAMP. If lifetime is not provided on creation, this will be set to 0.
        - `totalUnits` integer: The total units purchased balance. Applicable only to accounts of type CONTINUITY.
      - `overrides` union, required
        - CouponAccountOverridesEntity, nullable
          - `offer` object, required: Account's Offer Override (applicable for `COUPON` Account type)
            - `reward` object, nullable, required: Account's Offer Reward Override
              - …
            - `qualification` object, required: Account's Offer Qualification Override (Structure TBC)
          - `campaign` object, nullable, required: Campaign Rules Override (applicable for `COUPON` Account type )
            - `rules` object
              - …
        - ContinuityAccountOverridesEntity, nullable: Account Override for Continuity Type Account.
          - `continuityQualification` object, nullable: Overrides for continuity qualification.
            - `totalTransactionCount` integer, nullable: Account override for totalTransactionCount - Only valid if campaign uses totalTransactionCount.
            - `totalTransactionSpend` integer, nullable: Account override for totalTransactionSpend - Only valid if campaign uses totalTransactionSpend.
            - `totalTransactionUnits` integer, nullable: Account override for totalTransactionUnits - Only valid if campaign uses totalTransactionUnits.
          - `reward` object, nullable: Overrides for continuity rewards
            - `creditAmount` integer: Account override for the amount of points to be awarded.
      - `dateCreated` string, ees-date-time, required: Account Creation Date-Time (Atom format)
      - `lastUpdated` string, ees-date-time, required: Account Last Update Date-Time (Atom format)
      - `enriched` union
        - CampaignAccountEnrichment
          - `enrichmentType` 'COUPON', required
          - `campaignName` string, string, required: Campaign Name
          - `campaignReference` string, string, required: Campaign Reference
          - `qualifier` object[], nullable, required
          - `token` string, string, nullable: Token
          - `reward` object, nullable, required
            - `offerId` string, string, nullable, required: Offer ID
            - `offerName` string, string, nullable, required: Offer Name
            - `posReference` string, string, nullable, required: Offer reference (Promo Id)
          - `custom` object, nullable: Configured custom form fields in key-value pair format, grouped by form.
          - `restrictions` object
            - `limits` object
              - …
          - `redemptionWindows` object
            - `rolling` WindowEntity[], nullable
              - …
            - `exclusions` ExclusionWindowEntity[], nullable
              - …
        - ProgrammeAccountEnrichment
          - `enrichmentType` 'PROGRAMME', required
          - `programmeName` string, string, required: Programme Name
          - `programmeReference` string, string, required: Programme Reference
          - `token` string, string, nullable: Token
        - PointsAccountEnrichment
          - `enrichmentType` 'POINTS', required
          - `schemeName` string, string, required: Scheme Name
          - `schemeReference` string, string, required: Scheme Reference
          - `properties` object
            - `redemptionRates` object, nullable: Scheme Redemption Rates
            - `goodwill` object, nullable: Scheme Goodwill
            - `credit` object, nullable: Scheme Redemption Rates
            - `debit` object, nullable: Scheme Debit
            - `details` object, nullable: Scheme Details
            - `earnRates` object, nullable: Scheme Earn Rates
            - `baseEarn` object, nullable: Scheme Base Earn
            - `pointsExpiry` object, nullable
              - …
          - `restrictions` object: Restrictions that apply to this points Account. Please note this is currently only returned on the `/connect/wallet/open` Response, and is omitted when no points burn limit is active on the Scheme.
            - `limits` object
              - …
          - `tierMembership` object, nullable
            - `tierMembershipId` integer, required: The Id of the tier membership.
            - `tierId` integer, required: The Id of the tier the membership belongs to.
            - `status` 'ACTIVE' | 'DELETED', required: The current status of this tier membership.
            - `accountIds` string[], required: A list of any accountIds in this membership
            - `balances` object, required
              - …
            - `expiryDate` string, date-time, required: DateTime string with the expiry date of the membership.
            - `dateCreated` string, date-time, required: DateTime string with the time the membership was created.
            - `lastUpdated` string, date-time, required: DateTime string with the time the membership was last updated.
            - `tierBalancesResetDate` string, date-time, nullable: DateTime string containing the date when membership balances reset (if set)
            - `enriched` object: Holds any extra details required about the tier membership.
              - …
        - StampAccountEnrichment
          - `enrichmentType` 'STAMP', required
          - `schemeName` string, string, required: Scheme Name
          - `schemeReference` string, string, required: Scheme Reference
          - `properties` object
        - ContinuityAccountEnrichment
          - `token` string, nullable: The account's token
          - `qualifier` object: The campaign's qualifications
            - `continuity` object
              - …
          - `reward` object, nullable
            - `offerId` string, string, nullable, required: Offer ID
            - `offerName` string, string, nullable, required: Offer Name
            - `posReference` string, string, nullable, required: Offer reference (Promo Id)
          - `custom` object, nullable: Configured custom form fields in key-value pair format, grouped by form
          - `restrictions` object
            - `limits` object
              - …
          - `redemptionWindows` object
            - `rolling` WindowEntity[], nullable
              - …
            - `exclusions` ExclusionWindowEntity[], nullable
              - …
          - `enrichmentType` 'CONTINUITY', required
          - `campaignName` string, string, required: Campaign Name.
          - `campaignReference` string, string, required: Campaign Reference.
  - `message` object

## Other responses

- `400`: EES AIR Refuse to process that particular Request as there is something wrong with the Request (e.g. missing Mandatory Request parameter or Mandatory Request Payload attribute is missing, Request payload is unprocessable, etc)
- `401`: EES AIR Refuse to process that particular Request due to Authentication error. This could be caused by missing mandatory AUTH header(s), invalid Hash calculation, invalid or inactive API Key used, etc.
- `403`: EES AIR Refuse to process that particular Request due to Request Authorization error(s). This indicates that used API Key has not got required permissions to perform this operation.
- `404`: EES AIR Refuse to process that particular Request as requested/referenced resource could not be found.
- `409`: EES AIR understands this request, but refuses to process it, due to present Conflict with the current state of the target resource or because performing this operation would lead to a Conflict within AIR.
- `415`: EES AIR is not able to understand that request due to not supported `Content-Type` value.
- `429`: EES AIR refuses to process that particular Request as Client's API Requests Limit was exceeded.
- `500`: EES AIR refuses to process that particular Request due to Unexpected Server Error.
- `503`: EES AIR refuses to process that particular Request due to Service(s) being Unavailable (i.e. Scheduled Maintenance)
- `504`: EES AIR refuses to process that particular Request due to Networking Issues

---

[API](https://skmtc.dev/eagleeye/apis/pos-connect-api.md) - [All operations](https://skmtc.dev/eagleeye/apis/pos-connect-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eagleeye/apis/pos-connect-api/revisions/8b1db944024c?raw)
