---
title: "PUT /v1/pushcert"
method: PUT
path: "/v1/pushcert"
---

# PUT /v1/pushcert

`PUT /v1/pushcert`

Upload APNs certificate and private key.

## Response `200`

The topic and expiry of the APNs certificate are returned.

- PushCertResponse — APNs push certificate and key upload response.
  - `topic` string, required — The "topic" (UID attribute) from the uploaded APNs certificate.
  - `not_after` string, date-time, required — Expiration date of the uploaded APNs certificate.

## Other responses

- `400` — Error(s) with the uploaded APNs certificate or private key.
- `401` — API key is missing or invalid.
- `500` — Server errors reading HTTP request or storing APNs certificate or private key.

## Changes

> 9 revisions in range; 1 could not be searched.

- **2025-12-10** `216bbb578820` — 1 warning, 4 info
  - removed the optional property `error` from the response with the `200` status
  - added the media type `application/json` for the response with the status `500`
  - added the non-success response with the status `400`
  - the response property `not_after` became required for the status `200`
  - …1 more
- **2025-04-02** `2eacb210b00a` — 1 info
  - added the optional property `not_after` to the response with the `200` status
- **2021-07-03** `d3af2176e7e6` — 3 breaking, 2 info
  - removed the media type `application/json` for the response with the status `500`
  - the response property `topic` became optional for the status `200`
  - removed the required property `not_after` from the response with the `200` status
  - removed the non-success response with the status `400`
  - …1 more

[Change history](https://skmtc.dev/micromdm/apis/nanomdm-api/changes/v1/pushcert/put.md)

---

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