## Set Pre-Shared Keys (PSK) for IPsec tunnels `client.magicTransit.ipsecTunnels.pskSet(IPSECTunnelPSKSetParamsparams, RequestOptionsoptions?): IPSECTunnelPSKSetResponse` **post** `/accounts/{account_id}/magic/ipsec_tunnels/psk` Sets Pre-Shared Keys for multiple IPsec tunnels associated with an account. Use `?validate_only=true` as an optional query parameter to only run validation without persisting changes. After PSKs are applied, they are immediately persisted to Cloudflare's edge and cannot be retrieved later. Store the PSKs in a safe place. ### Parameters - `params: IPSECTunnelPSKSetParams` - `account_id: string` Path param: Identifier - `psks: Array` Body param: List of tunnel ID and PSK pairs. - `id: string` The ID of the IPsec tunnel. - `psk: string` A randomly generated or provided string for use in the IPsec tunnel. - `validate_only?: boolean` Query param: If `true`, only run validation without persisting changes. ### Returns - `IPSECTunnelPSKSetResponse` - `successfully_applied_psks?: Record` Map of tunnel IDs to successfully applied PSK details. - `ipsec_id: string` The IKE identifier used for this tunnel on the Cloudflare edge. - `ipsec_tunnel_id: string` Identifier - `psk: string` A randomly generated or provided string for use in the IPsec tunnel. - `psk_metadata: PSKMetadata` The PSK metadata that includes when the PSK was generated. - `last_generated_on?: string` The date and time the tunnel was last modified. - `unapplied_psks?: Record` Map of tunnel IDs to failure reasons for PSKs that could not be applied. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.magicTransit.ipsecTunnels.pskSet({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', psks: [{ id: '023e105f4ecef8ad9ca31a8372d0c353', psk: 'O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy' }], }); console.log(response.successfully_applied_psks); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "successfully_applied_psks": { "foo": { "ipsec_id": "12345_abc123def4567890abcdef1234567890", "ipsec_tunnel_id": "023e105f4ecef8ad9ca31a8372d0c353", "psk": "O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy", "psk_metadata": { "last_generated_on": "2017-06-14T05:20:00Z" } } }, "unapplied_psks": { "foo": "string" } }, "success": true } ```