---
title: "Configure Razorpay Keys"
method: PUT
path: "/api/payments/razorpay/{environment}/config"
tags: ["Razorpay Payments"]
---

# Configure Razorpay Keys

`PUT /api/payments/razorpay/{environment}/config`

Validate and store Razorpay API keys for one environment. A webhook secret is generated automatically when one does not already exist.

## Path parameters

- `environment` 'test' | 'live', required

## Request body

- UpsertRazorpayConfigBody
  - `keyId` string, required
  - `keySecret` string, required
  - `webhookSecret` string

## Response `200`

Updated Razorpay key configuration

- GetRazorpayConfigResponse
  - `keys` RazorpayKeyConfig[], required
    - `environment` 'test' | 'live', required
    - `keyType` 'api_key' | 'api_secret' | 'webhook_secret', required
    - `hasKey` boolean, required
    - `maskedKey` string, nullable, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.dev/insforge/apis/insforge-authentication-api.md) · [All operations](https://skmtc.dev/insforge/apis/insforge-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/insforge/insforge-authentication-api/revisions/a935bb49f932/schema)
