openapi: 3.0.0 info: version: '2025-01-01' title: Cashfree Payment Gateway APIs Authorize Generate Static KYC Link API license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html contact: email: developers@cashfree.com name: API Support url: https://discord.com/invite/QdZkNSxXsB description: Cashfree's Payment Gateway APIs provide developers with a streamlined pathway to integrate advanced payment processing capabilities into their applications, platforms and websites. servers: - url: https://sandbox.cashfree.com/pg description: Sandbox server - url: https://api.cashfree.com/pg description: Production server tags: - name: Generate Static KYC Link paths: /form/static-link: post: operationId: VrsGenerateStaticKYCLink security: - XClientID: [] XClientSecret: [] parameters: - $ref: '#/components/parameters/x_cf_signature' tags: - Generate Static KYC Link summary: Generate Static KYC Link x-mcp: enabled: true description: Use this API to generate a static KYC link to verify the KYC information of your users digitally. requestBody: $ref: '#/components/requestBodies/StaticKYCLinkRequest' responses: '200': $ref: '#/components/responses/StaticKYCLinkResponse' '400': $ref: '#/components/responses/Response400StaticKYCLink' '401': $ref: '#/components/responses/Response401' '403': $ref: '#/components/responses/Response403' '404': $ref: '#/components/responses/Response404StaticKYCLink' '422': $ref: '#/components/responses/Response422' '429': $ref: '#/components/responses/Response429' '500': $ref: '#/components/responses/Response500' components: responses: StaticKYCLinkResponse: description: Response Body for Generate Static KYC Link API content: application/json: schema: $ref: '#/components/schemas/GenerateFormLinkQRCodeResponseSchema' examples: Success: value: static_link: https://verification.cashfree.com/forms?shortCode=m2bjk9uakkcg qr_code: iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAACuklEQVR42uyYwa3jMAxEx/CBR5WgTqzGgtiBG5M7UQk66mB4FkP/3WR/A5aB8PZ/3sGUqOGQ+MY3bhhGklsd6sAdiAASJgz6b70RUADLQQgiuaMBqQ0VGHsCSMvhwFBHrvqDDRjqzLUzYCPrwLWM1FG3qU+g6sMfXg9G5hsCgG3MmOtMFoAZiduviroaOJ/eFF71EdeyR8tt0uX8epuXAh4DDzzDSnKknXX9f1wMWEFSCYRXncsjjjpstkTW911cDkCqNbk+PACMhZ5DOMJ6K8Cy5ZDxDIv/bLTsijJ2BbBNyiOsBbqLZAcSX3XuB1CxSBJ+pHiH0bY2cPnQh8sBxJY8hwOIe1T3NfIIR+CNAKmFNwhZhkck9TaZw8c5XA/o6bUpSHnnMlMFw8MEPNANIOV1uzhz5YIdlpUF0BVQSOiYn3p6UL9QA6nP8OEfrgZ01N55l7DEJarj8nDpHW8EWDGe0wIXzBzZ5Hm2t3voAUC0TDkx9Yu5AC21gVKHv1rdBUAi1UnA+6hVMOwHkKfl4W7Mq7qoxxk/GsodALfiQFJeRR3D/aS63r+4HjC2ZOphS2AZqYvhxkPTRO0JgGcx/9jFlixDDWRHP0Bxu+ifzSVSyjxhAjDXjgCkJh+2BHJxu3iOtPVOgDvzzQVkLQ95MbgQz+9h8nrAXBAAPKGa3tFghx2B7+3B9YB78wMTZHJW3x7YaXLmroDsWQxyYjrqJOH99LQ3AHx6POcFf5nlZy1yfBjOy4FzB1JT9Q+nC8ggO/FO83rg3CaRGnLd9CLJiX244h6Ac5nMOlRNvLsPwaYs/o0PPQC+4ZzwlCkre6QvONzW3AzIYeNpedWaW2pTeNXugHPHxbVQ/mFrCK//F/tXA14wWQ2CexyLTxM+BHcE/F0mL2HHI+5AsmzS2h33Ab7xja7iTwAAAP//HxNnsaD8lqMAAAAASUVORK5CYII= status: ACTIVE template_name: Aadhaar_verification Response500: description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Internal Server Error: value: type: internal_error code: request_failed message: Unable to process your request. Try again after some time Response429: description: Rate limit exceed error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Rate limit error per operation: value: type: rate_limit_error code: too_many_requests_per_operation message: Too many requests for this operation, rate limit reached Rate limit error per IP: value: type: rate_limit_error code: too_many_requests_per_ip message: Too many requests from the IP, rate limit reached Response400StaticKYCLink: description: Validation error in Static KYC Link content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Template Name Missing: value: type: validation_error code: template_name_missing message: template_name is missing in the request. Template Name Invalid: value: type: validation_error code: template_name_value_invalid message: template_name should only contains alphanumeric, dot, underscore and hyphen. Response401: description: Invalid client ID and client secret combination content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Invalid client ID and client secret combination: value: type: authentication_error code: authentication_failed message: Invalid clientId and clientSecret combination Response403: description: Authentication error (IP not whitelisted) content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: IP not whitelisted: value: type: authentication_error code: ip_validation_failed message: IP not whitelisted your current ip is 106.51.91.104.For IP whitelisting assistance, visit our guide at https://www.cashfree.com/docs/secure-id/get-started/integration/ip-whitelisting-verification Response404StaticKYCLink: description: Not found errors in Static KYC Link content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Template Name not Found: value: type: validation_error code: template_name_not_found message: template_name does not exist Response422: description: Validation error because of insufficient balance to process this request content: application/json: schema: $ref: '#/components/schemas/ErrorResponseSchema' examples: Insufficient balance: value: type: validation_error code: insufficient_balance message: Insufficient balance to process this request requestBodies: StaticKYCLinkRequest: description: Find the request parameters for Generate Static KYC Link. required: true content: application/json: schema: $ref: '#/components/schemas/StaticKYCLinkRequestSchema' schemas: StaticKYCLinkRequestSchema: description: Request Body Schema for Generate Static KYC Link type: object example: template_name: Aadhaar_verification required: - template_name properties: template_name: type: string description: It is the name of the template you created using the merchant dashboard. You can also use the default template found there to generate the static KYC link. The default template is Aadhaar_verification. Using merchant dashboard, customized KYC Link templates can be created. example: Aadhaar_verification GenerateFormLinkQRCodeResponseSchema: description: Find the success response of Generate Static KYC Link type: object properties: static_link: type: string description: It displays the URL of the static KYC Link. example: https://forms.cashfree.com/verification/global-link/Y7tpcan5ksm0 qr_code: type: string description: It displays the generated QR code link to the static KYC Link. request. example: iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAACuklEQVR42uyYwa3jMAxEx/CBR5WgTqzGgtiBG5M7UQk66mB4FkP/3WR/A5aB8PZ/3sGUqOGQ+MY3bhhGklsd6sAdiAASJgz6b70RUADLQQgiuaMBqQ0VGHsCSMvhwFBHrvqDDRjqzLUzYCPrwLWM1FG3qU+g6sMfXg9G5hsCgG3MmOtMFoAZiduviroaOJ/eFF71EdeyR8tt0uX8epuXAh4DDzzDSnKknXX9f1wMWEFSCYRXncsjjjpstkTW911cDkCqNbk+PACMhZ5DOMJ6K8Cy5ZDxDIv/bLTsijJ2BbBNyiOsBbqLZAcSX3XuB1CxSBJ+pHiH0bY2cPnQh8sBxJY8hwOIe1T3NfIIR+CNAKmFNwhZhkck9TaZw8c5XA/o6bUpSHnnMlMFw8MEPNANIOV1uzhz5YIdlpUF0BVQSOiYn3p6UL9QA6nP8OEfrgZ01N55l7DEJarj8nDpHW8EWDGe0wIXzBzZ5Hm2t3voAUC0TDkx9Yu5AC21gVKHv1rdBUAi1UnA+6hVMOwHkKfl4W7Mq7qoxxk/GsodALfiQFJeRR3D/aS63r+4HjC2ZOphS2AZqYvhxkPTRO0JgGcx/9jFlixDDWRHP0Bxu+ifzSVSyjxhAjDXjgCkJh+2BHJxu3iOtPVOgDvzzQVkLQ95MbgQz+9h8nrAXBAAPKGa3tFghx2B7+3B9YB78wMTZHJW3x7YaXLmroDsWQxyYjrqJOH99LQ3AHx6POcFf5nlZy1yfBjOy4FzB1JT9Q+nC8ggO/FO83rg3CaRGnLd9CLJiX244h6Ac5nMOlRNvLsPwaYs/o0PPQC+4ZzwlCkre6QvONzW3AzIYeNpedWaW2pTeNXugHPHxbVQ/mFrCK//F/tXA14wWQ2CexyLTxM+BHcE/F0mL2HHI+5AsmzS2h33Ab7xja7iTwAAAP//HxNnsaD8lqMAAAAASUVORK5CYII= template_name: type: string description: It is the name of the template you selected for creating QR Code. example: Aadhaar_verification status: type: string description: 'It displays the status of the static link. Possible values are: - `ACTIVE`' example: ACTIVE ErrorResponseSchema: description: Response in case of error. type: object properties: code: type: string example: x-client-id_missing error: type: object example: ref_id: 102 message: type: string example: x-client-id is missing in the request. description: It displays the outcome of the error. type: type: string example: validation_error description: It displays the type of error. parameters: x_cf_signature: description: Send the signature if IP is not whitelisted name: x-cf-signature in: header required: false schema: type: string example: '' securitySchemes: XClientID: type: apiKey in: header name: x-client-id description: Client app ID. You can find your app id in the [merchant dashboard](https://merchant.cashfree.com/merchants/pg/developers/api-keys?env=prod"). XClientSecret: type: apiKey in: header name: x-client-secret description: Client secret key. You can find your secret in the [merchant dashboard](https://merchant.cashfree.com/merchants/pg/developers/api-keys?env=prod"). XClientSignatureHeader: type: apiKey in: header name: x-client-signature description: Use this if you do not want to pass the secret key and instead want to use the signature. XPartnerAPIKey: type: apiKey in: header name: x-partner-apikey description: If you are partner and you are making an api call on behalf of a merchant XPartnerMerchantID: type: apiKey in: header name: x-partner-merchantid description: If you are partner use this to specify the merchant id if you don't have the merchant client app id externalDocs: url: https://api.cashfree.com/pg description: This url will have the information of all the APIs. x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true samples-languages: - shell