---
title: "Upload public key"
method: POST
path: "/corporate/v1/bulk-payments/keys"
tags: ["Bulk payment files"]
---

# Upload public key

`POST /corporate/v1/bulk-payments/keys`

## Request

- Base URL: `https://sandbox.pismolabs.io`
- URL: `https://sandbox.pismolabs.io/corporate/v1/bulk-payments/keys`
- Auth: HTTP bearer

Upload a public key for validating signatures and sending signed bulk files. For detailed instructions on creating a public key, refer to the [Create public and private keys](doc:file-signature-and-encryption#creating-public-and-private-keys) section in <i>File signature and encryption</i>.

To understand how bulk file payment processing works, refer to the [Bulk file-based payment processing](doc:bulk-file-based-payment-processing) guide.

## Request body

- UploadPublicKeyRequest: Create public key payload request
  - `id` string, required: ID of the public key. Only digits, letters, hyphens, and underscores are allowed, and cannot exceed 60 characters.
  - `key_material` string, required: Public-key encoded in DER and base64 formats
  - `expires_at` string, date-time: Expiration date and time of the public key. If not provided, it is set to 6 months from the date of submission.

## Response `201`

Created

- UploadPublicKeyResponse: Upload public key response
  - `id` string: ID of the public key. Only digits, letters, hyphens, and underscores are allowed, and cannot exceed 60 characters.

## Other responses

- `400`: A Bad Request validation error
- `401`: Access token is missing or invalid
- `403`: The request has been lost
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/banking-transaction-banking.md) - [All operations](https://skmtc.dev/pismo/apis/banking-transaction-banking/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/banking-transaction-banking/revisions/1334306c9303?raw)
