---
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/passport`
- URL: `https://sandbox.pismolabs.io/passport/corporate/v1/bulk-payments/keys`
- Auth: none declared

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](https://developers.pismo.io/pismo-docs/docs/file-signature-and-encryption#creating-public-and-private-keys) section in <i>File signature and encryption</i>.

## 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: 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/platform-authentication.md) - [All operations](https://skmtc.dev/pismo/apis/platform-authentication/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/platform-authentication/revisions/935b62e16de4?raw)
