> ## Documentation Index
> Fetch the complete documentation index at: https://vas-partner-api-docs.finpaytech.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Initiate STK Push



## OpenAPI

````yaml /openapi.json post /api/v1/merchants/me/stk/initiate
openapi: 3.1.0
info:
  title: Emaal Virtual Accounts API
  version: 1.0.0
  description: Merchant collection APIs. Base URL https://vas.finpaytech.co/business-api
servers:
  - url: https://vas.finpaytech.co/business-api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Virtual Accounts
  - name: Customers
  - name: Invoice VA
  - name: Payer Instructions
  - name: Payments
  - name: Webhooks
paths:
  /api/v1/merchants/me/stk/initiate:
    post:
      tags:
        - Payer Instructions
      summary: Initiate STK Push
      operationId: initiateStk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateStkPushRequest'
            example:
              phoneNumber: '254712345678'
              amount: 2500
              expectedPaymentId: 721e86a8-fd29-49b5-b42f-67e19dfb2f6e
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StkPushResponse'
              example:
                id: 11111111-2222-3333-4444-555555555555
                merchantId: 301f0991-8f7c-4501-a1d4-c317fe7b7f23
                subMerchantId: null
                expectedPaymentId: 721e86a8-fd29-49b5-b42f-67e19dfb2f6e
                phoneNumber: '254712345678'
                amount: 2500
                currency: KES
                accountReference: '7600000073'
                virtualAccountNumber: '7600000073'
                inboundCreditId: null
                merchantRequestId: ws_CO_09092026120000000
                checkoutRequestId: ws_CO_09092026120000001
                status: PENDING_CUSTOMER
                customerMessage: Success. Request accepted for processing
                resultCode: null
                resultDesc: null
                mpesaReceiptNumber: null
                createdAt: '2026-09-09T12:00:00.000Z'
                updatedAt: '2026-09-09T12:00:00.000Z'
components:
  schemas:
    InitiateStkPushRequest:
      type: object
      required:
        - phoneNumber
        - amount
      properties:
        phoneNumber:
          type: string
          example: '254712345678'
        amount:
          type: number
        subMerchantId:
          type: string
          format: uuid
        customerId:
          type: string
          format: uuid
        expectedPaymentId:
          type: string
          format: uuid
        virtualAccountId:
          type: string
          format: uuid
        accountReference:
          type: string
    StkPushResponse:
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: PASETO
      description: Access token from POST /api/v1/auth/login

````