> ## 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.

# Update Authorised Signatory

> Submits the authorised signatory details. The phone and email are used for
VKYC, DigiLocker, and T&C acknowledgement. Cannot be updated after T&C is acknowledged.


## When to Use

Submits the authorised signatory details. The signatory's phone and email are used to conduct VKYC, DigiLocker verification, and T\&C acknowledgement — so accuracy is critical.

<Warning>
  Authorised signatory details cannot be updated after the merchant has acknowledged the Terms & Conditions.
</Warning>

## Error Scenarios

| Scenario                                       | HTTP Code |
| ---------------------------------------------- | --------- |
| Required fields validation error               | `400`     |
| PAN validation failed                          | `400`     |
| Update attempted after T\&C is acknowledged    | `400`     |
| `onboardingId` does not exist                  | `404`     |
| `onboardingId` does not belong to this partner | `403`     |


## OpenAPI

````yaml PUT /gcc/v2/partner/merchant/onboard/{onboardingId}/auth-signatory
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:
  /gcc/v2/partner/merchant/onboard/{onboardingId}/auth-signatory:
    put:
      tags:
        - Merchant Onboarding
      summary: Update Authorised Signatory
      description: >
        Submits the authorised signatory details. The phone and email are used
        for

        VKYC, DigiLocker, and T&C acknowledgement. Cannot be updated after T&C
        is acknowledged.
      operationId: updateAuthSignatory
      parameters:
        - name: onboardingId
          in: path
          required: true
          schema:
            type: string
          example: pg_onboard_abc123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - authSignatoryName
                - authSignatoryPan
                - contact
              properties:
                authSignatoryName:
                  type: string
                  description: Full legal name of the authorised signatory.
                  example: Ananya Mehta
                authSignatoryPan:
                  type: string
                  description: PAN of the authorised signatory.
                  example: ABCPM1234R
                contact:
                  type: object
                  required:
                    - phone
                    - email
                  properties:
                    phone:
                      type: string
                      description: Contact phone number for official communication.
                      example: '+919876543210'
                    email:
                      type: string
                      format: email
                      description: Email address for official communication.
                      example: ananya.mehta@acmepayments.com
            example:
              authSignatoryName: Ananya Mehta
              authSignatoryPan: ABCPM1234R
              contact:
                phone: '+919876543210'
                email: ananya.mehta@acmepayments.com
      responses:
        '200':
          description: Authorised signatory details updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonSuccessResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CommonSuccessResponse:
      type: object
      properties:
        gid:
          type: string
          description: PayGlocal global transaction ID.
          example: gl_9c2645ed09edb22e
        timestamp:
          type: string
          description: Response timestamp (DD/MM/YYYY HH:MM:SS).
          example: 10/01/2026 15:00:00
        reasonCode:
          type: string
          description: Empty string on success.
          example: ''
        data:
          type: object
          properties:
            merchantInfo:
              $ref: '#/components/schemas/MerchantInfo'
            merchantOnboardingCheckListStatus:
              $ref: '#/components/schemas/ChecklistStatus'
    MerchantInfo:
      type: object
      properties:
        onboardingId:
          type: string
          description: PayGlocal-generated onboarding ID.
          example: pg_onboard_abc123
        partnerOnboardingId:
          type: string
          description: Partner's external onboarding ID.
          example: partner-merchant-001
        onboardingStatus:
          type: string
          description: Current onboarding lifecycle status.
          enum:
            - INITIATED
            - IN_PROGRESS
            - PENDING_VERIFICATION
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
            - RFI
        businessDetails:
          type: object
          properties:
            entityType:
              type: string
            gstNumber:
              type: string
            natureOfBusiness:
              type: string
            registeredName:
              type: string
            tradeName:
              type: string
            iec:
              type: string
            businessMonthlySize:
              type: string
            websiteUrl:
              type: string
            purposeCode:
              type: string
            businessRegisteredAddress:
              $ref: '#/components/schemas/Address'
            businessOperatingAddress:
              $ref: '#/components/schemas/Address'
        directorDetails:
          type: array
          items:
            type: object
            properties:
              designation:
                type: string
              name:
                type: string
              pan:
                type: string
        beneficialOwnerDetails:
          type: array
          items:
            type: object
            properties:
              designation:
                type: string
              name:
                type: string
              pan:
                type: string
              percentageOwnership:
                type: number
        authorisedSignatoryDetails:
          type: object
          properties:
            authSignatoryName:
              type: string
            authSignatoryPan:
              type: string
            contact:
              type: object
              properties:
                phone:
                  type: string
                email:
                  type: string
        settlementDetails:
          type: object
          properties:
            bankAccountNumber:
              type: string
            bankIfscCode:
              type: string
            accountHolderName:
              type: string
            accountType:
              type: string
              enum:
                - CURRENT
                - SAVINGS
    ChecklistStatus:
      type: object
      properties:
        businessDetails:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        beneficialOwners:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        bankDetails:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        authorisedSignatory:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        vkyc:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        digiLocker:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        tncAcknowledged:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        documents:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        products:
          $ref: '#/components/schemas/PartnerMerchantStepStatus'
        documentsToBeUploaded:
          type: array
          items:
            type: string
    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'
    Address:
      type: object
      properties:
        streetAddress1:
          type: string
          description: Primary street line.
        streetAddress2:
          type: string
          description: Secondary street line (suite, floor, etc.).
        zipcode:
          type: string
          description: PIN code.
        stateCode:
          type: string
          description: Two-letter state code (e.g., MH, KA, DL).
          example: MH
        city:
          type: string
          description: City name.
        state:
          type: string
          description: Full state name.
          example: Maharashtra
    PartnerMerchantStepStatus:
      type: string
      enum:
        - COMPLETE
        - INCOMPLETE
        - NOT_APPLICABLE
      description: Per-step completion state for an onboarding checklist field.
    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
    Forbidden:
      description: The onboardingId does not belong to the authenticated partner.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CommonErrorResponse'
    NotFound:
      description: The specified onboardingId does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CommonErrorResponse'
  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.

````