> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paysight.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Search

> Submits card details for payment/subscription signup



## OpenAPI

````yaml /api-reference/customer-service-api/paysight_customer_service_api.yaml post /search
openapi: 3.0.0
info:
  title: Paysight Customer Service API
  description: Customer Service API for searching transations, refunding etc
  version: 1.0.0
  contact:
    email: tech@paysight.io
servers:
  - description: Paysight Cards API
    url: https://test.paysight.io/customerapi/
security:
  - ApiKeyAuth: []
paths:
  /search:
    post:
      summary: Search
      description: Submits card details for payment/subscription signup
      parameters:
        - $ref: '#/components/parameters/ClientId'
        - $ref: '#/components/parameters/UserEmail'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchInfo'
        description: Payload
      responses:
        '200':
          description: Valid Request. More detailed info will be in the JSON body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponseData'
components:
  parameters:
    ClientId:
      name: ClientId
      in: header
      required: true
      description: >-
        Your Paysight Tenant/Client Id. This is the id of the parent company
        listed in https://app.paysight.io/management/companies. Alternatively,
        this will be provided by Paysight
      schema:
        type: string
    UserEmail:
      name: UserEmail
      in: header
      required: true
      description: The email address of the party or group making the request
      schema:
        type: string
  schemas:
    SearchInfo:
      type: object
      required:
        - parentCompanyId
        - userEmail
        - >-
          email or email plus name or 16 digit card number (middle digits can be
          redacted). If name entered alone then must be at least 10 characters
      properties:
        parentCompanyId:
          type: integer
          example: 1
          description: Your Paysight tenant id. This will be provided by Paysight.
        userEmail:
          type: string
          format: email
          description: An email associated with the party/agent making the request
          example: care@yourdomain.com
        email:
          type: string
          format: email
          example: joe@bloggs.com
          description: >-
            The email address of the customer. This is required if no other
            search parameters (name or card number) is provided
        cardNumber:
          type: string
          description: >-
            This can be the full 16 digit card number or the card number with
            the middle 6 digits redacted, as per example.
          example: 535456******1742
        name:
          type: string
          description: >-
            Customer name. This can be entered along with cardNumber. If entered
            alone then it must be at least 10 characters
          example: Joe Bloggs
        orderId:
          type: integer
          example: 1095654254
          description: The unique Paysight orderId
    SearchResponseData:
      properties:
        success:
          type: boolean
          example: true
          description: >-
            This indicates if this request was processed successfully, no
            validation issues etc.
        message:
          type: string
          example: ''
          description: Debug information
        transactions:
          type: array
          description: Array of transactions
          items:
            $ref: '#/components/schemas/Transaction'
    Transaction:
      type: object
      properties:
        gateway:
          type: string
          example: Decline Defense
        messageID:
          type: string
          example: 429b7902-33de-416c-ab98-3d165870bcec
        orderId:
          type: integer
          example: 191582180
        sent:
          type: string
          format: date-time
          example: '2024-09-17T14:08:50.257'
        email:
          type: string
          example: shanec@paysight.io
        application:
          type: string
          example: Sub Start MID Retry
        applicationID:
          type: integer
          example: 209
        customerID:
          type: integer
          example: 38284156
        shortcodeID:
          type: integer
          example: 1533
        billingCode:
          type: string
          example: FlexCharge - CommerceConnect - Grand Med
        data:
          type: string
          example: >-
            19 Day Renewal.Charge FAILED: Do Not Honor - 29.990
            NMITransId:9943005219 FlexCharge rescue attempt
        status:
          type: string
          example: Submitted
        statusID:
          type: integer
          example: 1789
        success:
          type: boolean
          example: false
        completed:
          type: string
          nullable: true
          example: null
        premium:
          type: integer
          example: 1
        currency:
          type: string
          example: USD
        pricePointID:
          type: integer
          example: 31566
        pricePoint:
          type: string
          example: $29.990
        priceVal:
          type: number
          format: double
          example: 29.99
        product:
          type: string
          example: US - RibbedDecor
        productID:
          type: integer
          example: 8324
        campaign:
          type: string
          example: None/Unassigned
        campaignID:
          type: integer
          example: 0
        shopId:
          type: integer
          example: 1300430925
        storeName:
          type: string
          example: Ribbedecor
        storeDomain:
          type: string
          description: Ecom related only- Store domain
          example: www.ribbedecor.com
        storeRootDomain:
          type: string
          description: Ecom related only - Store root domain
          example: ribbedecor.com
        merchantAccountId:
          type: integer
          example: 608
        midName:
          type: string
          example: DeclineDefense - Commerce Connect - Grand Media
        mid:
          type: string
          example: flexComConGrandMedia
        companyId:
          type: integer
          example: 103
        company:
          type: string
          example: Grand Media Inc.
        parentCompanyId:
          type: integer
          example: 100
        parentCompany:
          type: string
          example: Commerce Connect
        bin:
          type: string
          example: '535456'
        last4:
          type: integer
          example: 1742
        sessionId:
          type: string
          example: '20240829140820431062231114683'
        name:
          type: string
          example: Shane Connolly
        refundable:
          type: boolean
          example: false
        refunded:
          type: boolean
          example: false
        hasAlert:
          type: boolean
          example: false
        chargedBack:
          type: boolean
          example: false
        attempt:
          type: integer
          example: 2
        authOnly:
          type: boolean
          example: false
        paymentNumber:
          type: integer
          example: 1
        totalAttempt:
          type: integer
          example: 2
        refundSource:
          type: integer
          example: 0
        alertType:
          type: integer
          example: 0
        alertSource:
          type: integer
          example: 0
        originalMessageId:
          type: string
          nullable: true
          example: null
        originalApplicationId:
          type: integer
          example: 209
        originalApplication:
          type: string
          example: Sub Start MID Retry
        storeCurrency:
          type: string
          example: USD
        blackListing:
          type: integer
          example: 0
        alertSourceName:
          type: string
          example: Unassigned
        alertTypeName:
          type: string
          example: Unassigned
        refundSourceName:
          type: string
          example: Unassigned
        applePay:
          type: boolean
          description: Indicates if the transaction was performed using Apple Pay.
          example: false
        googlePay:
          type: boolean
          description: Indicates if the transaction was performed using Google Pay.
          example: false
        paysightSession:
          type: string
          description: Paysight unique session identifier
          example: '20240829140820431062231114683'
        partnerSession:
          type: string
          description: >-
            Partner unique session/click/visit identifier, if passed in Card
            Submit API
        cardBrandId:
          type: integer
          description: >-
            Card Brand Identifier. 1=Visa, 2=Mastercard, 3=Discover, 4=Amex,
            5=Chase, 6=JCB
        cardBrand:
          type: string
          description: Card Brand, e.g Visa, Mastercard
        childTransactions:
          type: array
          description: >-
            Array of subsequent transactions related to this transaction, e,g
            refund transaction, chargeback transaction, Ethoca related
            transaction
          items:
            $ref: '#/components/schemas/Transaction'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your Paysight API key. You can find it in your Paysight account at
        https://app.paysight.io/settings/account

````