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

# Get session link

> Orchestrates pre-creation of remote users to instantiate pre-authenticated checkout links for webviews.



## OpenAPI

````yaml /raas/swagger-partner-widget-ask.json post /auth/sessionlink-v2
openapi: 3.0.0
info:
  title: ''
  version: 0.0.1
servers:
  - url: https://raas-partner-cv.nomas.cash/v1
security: []
paths:
  /auth/sessionlink-v2:
    post:
      tags:
        - Users
      summary: Get session link
      description: >-
        Orchestrates pre-creation of remote users to instantiate
        pre-authenticated checkout links for webviews.
      operationId: getSessionLinkV2
      parameters: []
      requestBody:
        description: Payload with payment data, amounts, fees and base KYC.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionLinkParams'
            example:
              phoneNumber: '+5215521206706'
              firstName: Maria
              lastName: Garcia
              dob: '1987-06-24'
              city: San Pedro de los Pinos
              zipCode: '03800'
              state: CDMX
              address3: Ciudad de México
              countryCode: MX
              address1: Avenida Calle Dos 296
              latitude: 19.3953755
              longitude: -99.1384059
              gender: Male
              email: ariel+fielContigo@leapfinancial.com
              lang: en
              birthState: MX-CMX
              paymentMethodType: Card
              addCardParams:
                nameOnCard: Juan Perez Gomez
                cardtype: DebitCard
                expirationDate: '1128'
                cardNetwork: Visa
                name: VISA-1111
                number: tok_sandbox_9PNgfqqpdpyQpnD1jYkdw1_1111
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionLinkResponse'
              example:
                paymentMethodStatus: ValidCard
                link: https://links-dev.nomas.cash/Q1nO3
                status: Completed
                statusDetail: None
        '204':
          description: No content
        '400':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  reason:
                    type: string
                required:
                  - reason
                type: object
              example:
                reason: Validation failed on session link payload.
        '500':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  reason:
                    type: string
                required:
                  - reason
                type: object
              example:
                reason: An unhandled error has occurred
      security:
        - api_key:
            - partner
            - partner_full
            - partner_send
components:
  schemas:
    SessionLinkParams:
      description: >-
        Extends `RegisterUserParams` for **session-link** flows that may collect
        a payment method type

        and optional UBN or card payloads in the same request.
      properties:
        phoneNumber:
          type: string
          description: >-
            <span style="color:red">required</span>


            Mobile phone number with country code. Must be a valid mobile phone
            number.

            Example: `+5215521206703` for MX.


            It doesn't allow duplicates.
        lastName:
          type: string
          description: |-
            Primary legal last name (e.g. paternal surname).
            Example: `Hernández`.
        lastName2:
          type: string
          description: |-
            Optional second last name when used (e.g. maternal surname).
            Example: `Gómez`.

            **Strongly recommended** to avoid OFAC matches.
        gender:
          type: string
          enum:
            - Male
            - Female
            - Other
            - None
          description: |-
            Self-reported gender when the product collects it.
            Example: `Female`.
        dob:
          type: string
          format: date-time
          description: >-
            Date of birth in ISO 8601 format (`YYYY-MM-DD` or full date-time).

            DOB must be a real calendar date and the person must be at least 18
            and under 100 years old.


            **Strongly recommended** to avoid OFAC matches.
        email:
          type: string
          description: |-
            Email address.
            It doesn't allow duplicates.

            **Strongly recommended**.
        firstName:
          type: string
          description: |-
            Legal first name(s).
            Example: `Ana`.
        middleName:
          type: string
          description: |-
            Middle name when collected. Example: `María`. 
            Strongly recommended to avoid OFAC matches.
        address1:
          type: string
          description: |-
            User legal address, Street and number.
            Example: `Blvd. Kukulcan Km. 4.5`.

            **Strongly recommended** to avoid OFAC matches.
        address2:
          type: string
        address3:
          type: string
        streetNumber:
          type: string
        countryCode:
          type: string
          description: |-
            Country code.
            ISO 3166-1 alpha-2.
        city:
          type: string
        zipCode:
          type: string
        state:
          type: string
          description: |-
            Address state/province/department.
            ISO 3166-2:CC (CC: country code).
            Or the state short name.
            Example: `DF` for Distrito Federal, `JA` for Jalisco.
        birthState:
          type: string
          description: |-
            Address state/province/department.
            ISO 3166-2:CC (CC: country code).
            Or the state short name.
            Example: `DF` for Distrito Federal, `JA` for Jalisco.
        lang:
          $ref: '#/components/schemas/Language'
          description: |-
            User Language.
            ISO 639-1.
            Example: `es` for Spanish, `en` for English.
        placeDetail:
          type: string
          description: |-
            Place detail from address if available.
            **Must be a valid place detail json from google maps**.
        latitude:
          type: number
          format: double
          description: Latitude from address if available.
        longitude:
          type: number
          format: double
          description: Longitude from address if available.
        callLocationLatitude:
          type: number
          format: double
          description: Latitude from user location if available.
        callLocationLongitude:
          type: number
          format: double
          description: Longitude from user location if available.
        paymentMethodType:
          $ref: '#/components/schemas/SessionLinkPaymentMethodType'
          description: >-
            How the user will add a funding instrument in the widget flow, when
            applicable.
        ubnParams:
          $ref: '#/components/schemas/AddUBNParams'
          description: Optional UBN payload when `paymentMethodType` is `UBN`.
        addCardParams:
          $ref: '#/components/schemas/AddCardSessionParams'
          description: Proper method for adding cards as payment method
      required:
        - lastName
        - firstName
        - address1
        - countryCode
        - city
        - state
      type: object
      additionalProperties: false
    SessionLinkResponse:
      description: >-
        Response when a session link is created for onboarding or upgrade
        (`sessionlink-*` routes).
      properties:
        link:
          type: string
          description: >-
            HTTPS URL the end user should open to continue onboarding in the
            widget.
        status:
          type: string
          description: High-level user or flow status string (product-specific).
        statusDetail:
          $ref: '#/components/schemas/PlatLevelStatusDetail'
          description: >-
            Structured status detail from the CIP / account platform when
            provided.
        cipStatus:
          type: string
          description: CIP pipeline status label when applicable.
        cipStatusDetail:
          $ref: '#/components/schemas/PlatLevelStatusDetail'
          description: Structured CIP detail when provided.
        accountStatus:
          type: string
          description: Account lifecycle status when returned by the platform.
        paymentMethodStatus:
          type: string
          description: Funding instrument readiness when returned by the platform.
        userId:
          type: string
          description: Internal user id once the user record exists.
      required:
        - link
      type: object
      additionalProperties: false
    Language:
      enum:
        - en
        - es
      type: string
    SessionLinkPaymentMethodType:
      type: string
      enum:
        - BankAccount
        - DigitalWallet
        - Card
        - UBN
      description: >-
        Allowed instrument categories when opening a session link with funding
        capture.
    AddUBNParams:
      description: >-
        Add a **UBN** (Uniform Bank Number-style account) as a receiving method
        in partner funding flows.
      properties:
        number:
          type: string
          description: UBN number
        isPrimary:
          type: boolean
          description: Is primary UBN?
        currency:
          type: string
          description: |-
            Currency
            ISO 4217 format
        country:
          type: string
          description: |-
            Country
            ISO 3166-1 alpha-2 format
        bankName:
          type: string
          description: Bank name
      required:
        - number
      type: object
      additionalProperties: false
    AddCardSessionParams:
      description: >-
        Card fields collected in a **session link** flow (tokenized values from
        VGS or similar).
      properties:
        name:
          type: string
          description: 'Display name for the saved instrument. Example: `VISA-4242`.'
        cardtype:
          type: string
          enum:
            - DebitCard
            - CreditCard
          description: >-
            <span style="color:red">required</span> Instrument category for
            storage.
        number:
          type: string
          description: |-
            <span style="color:red">required</span>
            Tokenized PAN from your card capture SDK.
            Example: `tok_sandbox_...`.
        nameOnCard:
          type: string
          description: >-
            <span style="color:red">required</span> Name embossed on the card.
            Example: `ANA M GARCIA`.
        expirationDate:
          type: string
          description: |-
            <span style="color:red">required</span>
            Expiry as `MMYY` or product-defined short format.
            Example: `0629`.
        securityCode:
          type: string
          description: Tokenized CVV when collected.
        currency:
          type: string
          description: >-
            **ISO 4217** billing or instrument currency when applicable.
            Example: `USD`.
        country:
          type: string
          description: >-
            **ISO 3166-1 alpha-2** country for BIN or billing rules. Example:
            `MX`.
        cardNetwork:
          type: string
          enum:
            - NotApplicable
            - UATP
            - Visa
            - ChinaUnionPay
            - InterPayment
            - DiscoverCard
            - Dankort
            - Cardguard
            - MIR
            - MasterCard
            - Verve
            - InstaPayment
            - Maestro
            - DinersClubInternational
            - AmericanExpress
            - JCB
            - TROY
          description: >-
            <span style="color:red">required</span> Card brand reported by the
            capture SDK.
      required:
        - name
        - cardtype
        - number
        - nameOnCard
        - expirationDate
        - cardNetwork
      type: object
      additionalProperties: false
    PlatLevelStatusDetail:
      enum:
        - None
        - InvalidAddress
        - InvalidEMail
        - UnreadableDoc
        - ProvideAdditionalInfo
        - InvalidPersonalData
        - OtpPrivacyMissing
        - OtpContractMissing
        - Compliance
        - ComplianceBlocked
        - OfacFailed
      type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: api_key
      in: header

````