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

# Check Mandate Status

> Retrieve the current status, payment count, and details of a standing instruction mandate.

## When to Use

Check the current lifecycle state of a standing-instruction mandate — e.g., whether it's still active, how many debits have been processed, and how many remain. Applies to **on-demand and auto debit** mandates (PayDirect and PayCollect). See **Standing Instruction Sale** in the API Reference sidebar.

## Mandate Status Values

| Status      | Description                                               |
| ----------- | --------------------------------------------------------- |
| `ACTIVE`    | Mandate is active and can be used for subsequent payments |
| `INACTIVE`  | Mandate was revoked via API or Control Center             |
| `EXHAUSTED` | All configured payments have been processed               |

## Example Data Payloads

**Active mandate:**

```json theme={null}
{
  "mandateData": {
    "mandateStatus": "ACTIVE",
    "mandateCreateDate": "20211204",
    "maskedMandateId": "md_94fxxxxxx3e15",
    "siId": "si_cd2f0a1c-4dec-44d5-b0f3-297aee590d32",
    "numberOfPaymentsProcessed": "4",
    "numberOfPaymentsRemaining": "2"
  }
}
```

**Exhausted mandate:**

```json theme={null}
{
  "mandateData": {
    "mandateStatus": "EXHAUSTED",
    "mandateExhaustionDate": "20211209",
    "numberOfPaymentsProcessed": "6",
    "numberOfPaymentsRemaining": "0"
  }
}
```


## OpenAPI

````yaml POST /gl/v1/payments/si/status
openapi: 3.0.3
info:
  title: PayGlocal API
  description: >
    PayGlocal REST API covering merchant onboarding, payment initiation,
    refunds,

    capture, reversal, and standing-instruction (subscription) flows.
  version: '2.0'
  contact:
    name: PayGlocal Support
    email: merchant.support@payglocal.in
    url: https://payglocal.in
servers:
  - url: https://api.onboard.payglocal.in
    description: Onboarding — Production
  - url: https://api.onboard.uat.payglocal.in
    description: Onboarding — Sandbox
  - url: https://api.payglocal.in
    description: Payments — Production
  - url: https://api.uat.payglocal.in
    description: Payments — Sandbox
  - url: https://gcc.prod.payglocal.in
    description: MCA — Production
  - url: https://gcc.uat.payglocal.in
    description: MCA — Sandbox
security:
  - ApiKeyAuth: []
    DigestAuth: []
tags:
  - name: Merchant Onboarding
    description: Endpoints to create and manage merchant onboarding records.
  - name: Reference Data
    description: Lookup endpoints for static reference data (categories, codes).
  - name: Payment
    description: Payment initiation, refund, capture, reversal, and status endpoints.
  - name: Standing Instructions
    description: Subscription / recurring-payment mandate operations.
  - name: MCA
    description: >-
      Merchant Collection Account — virtual account fetch and transaction
      document upload.
paths:
  /gl/v1/payments/si/status:
    servers:
      - url: https://api.payglocal.in
        description: Production
      - url: https://api.uat.payglocal.in
        description: Sandbox
    post:
      tags:
        - Standing Instructions
      summary: SI Status
      description: Returns current status and schedule for a standing-instruction mandate.
      operationId: getSiStatus
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - mandateId
              properties:
                mandateId:
                  type: string
                  description: PayGlocal-issued mandate identifier.
                  example: mandate_abc123
            example:
              mandateId: mandate_abc123
      responses:
        '200':
          description: Mandate status retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              example:
                gid: gl_si_status_001
                status: SUCCESS
                timestamp: 10/01/2026 15:00:00
                reasonCode: ''
                data:
                  mandateId: mandate_abc123
                  mandateStatus: ACTIVE
                  nextDebitDate: '2026-05-01'
                  completedPayments: 3
                  totalPayments: 12
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - JwsTokenAuth: []
components:
  schemas:
    ApiResponse:
      type: object
      description: Standard PayGlocal response envelope (`GlocalApiResponse`).
      properties:
        gid:
          type: string
          description: PayGlocal global transaction ID.
          example: gl_9c2645ed09edb22e
        status:
          type: string
          description: High-level status of this API response.
          example: SUCCESS
        message:
          type: string
          description: Human-readable message.
        timestamp:
          type: string
          description: Response timestamp (DD/MM/YYYY HH:MM:SS).
          example: 10/01/2026 15:00:00
        reasonCode:
          type: string
          description: Empty on success; populated on failure.
          example: ''
        data:
          type: object
          description: Operation-specific payload. Shape varies by endpoint.
          additionalProperties: true
        errors:
          type: object
          additionalProperties:
            type: string
          description: Field-level validation errors (populated on 4xx).
    CommonErrorResponse:
      type: object
      properties:
        gid:
          type: string
          example: gl_9c2645ed09edb22e
        timestamp:
          type: string
          example: 10/01/2026 15:00:00
        reasonCode:
          type: string
          example: VALIDATION_ERROR
        data:
          type: object
        errors:
          type: object
        errorDetails:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetail'
    ErrorDetail:
      type: object
      properties:
        field:
          type: string
          description: Name of the field that failed validation.
          example: panNumber
        message:
          type: string
          description: Human-readable error message.
          example: Required field is missing
  responses:
    BadRequest:
      description: Validation error — missing or invalid fields.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CommonErrorResponse'
          examples:
            validationError:
              summary: Validation error example
              value:
                gid: gl_9c2645ed09edb22e
                timestamp: 10/01/2026 15:00:00
                reasonCode: VALIDATION_ERROR
                data: {}
                errors: null
                errorDetails:
                  - fieldName: paymentData.totalAmount
                    message: This field is required
    Unauthorized:
      description: Authentication failed — invalid API key or digest.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CommonErrorResponse'
          examples:
            unauthorizedError:
              summary: Unauthorized error example
              value:
                gid: gl_9c2645ed09edb22e
                timestamp: 10/01/2026 15:00:00
                reasonCode: UNAUTHORIZED
                data: {}
                errors: null
                errorDetails:
                  - fieldName: authorization
                    message: Invalid x-gl-token-external
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-gl-auth
      description: Static API Key generated from the PayGlocal Partner Dashboard.
    DigestAuth:
      type: apiKey
      in: header
      name: x-gl-digest
      description: >
        Per-request HmacSHA256 signature, Base64-encoded, using your API Secret
        as the HMAC key.

        - For GET requests: sign the request URI path (e.g.
        `/gcc/v2/partner/merchant/onboard/business-category`), including query
        string if present.

        - For POST/PUT requests: sign the exact raw request body.
    JwsTokenAuth:
      type: apiKey
      in: header
      name: x-gl-token-external
      description: >
        RSA-signed JWS (JSON Web Signature) token carrying the request payload.

        - Header: `{ "alg": "RS256", "kid": "<merchant-key-id>", "iss":
        "<merchant-id>", "x-gl-enc": "false", "is-digested": "true" }`

        - Payload: the exact JSON body sent in the request (or its SHA-256
        digest when `is-digested=true`).

        - Signed with the merchant's RSA private key; PayGlocal verifies with
        the matching public key.

        Used by all `/gl/v1/payments/*` endpoints.

````