---
title: "Get all APNs certificate meta data for the Tenant"
method: GET
path: "/tenant/v0/apnscertificates/"
tags: ["tenant_APNs certificate"]
---

# Get all APNs certificate meta data for the Tenant

`GET /tenant/v0/apnscertificates/`

⚠️ iOS/iPadOS/tvOS only. APNs (Apple Push Notification service) certificates are required for Esper to communicate with and manage Apple devices.

Retrieves a paginated list of APNs certificate records for the tenant, with optional filtering by state.Returns APNSCertInfo records containing each certificate's state, Apple ID, topic, creation timestamp, and expiry date. Default page size is 10.

**About List APNs Certificates**

APNs certificates enable the Esper MDM server to send push notifications to iOS and iPadOS managed devices — without a valid certificate, device management commands cannot be delivered. Each APNSCertInfo record represents a certificate in one of two states: CSR_GENERATED (the CSR has been generated via POST /api/tenant/v0/apnscertificates/ but the signed certificate has not yet been uploaded) or COMPLETED (the signed certificate has been uploaded via PUT /api/tenant/v0/apnscertificates/{id}/ and is active). The meta.cert_expiry_on field is critical for proactive certificate renewal — APNs certificates expire annually and must be renewed before expiry to avoid loss of device management capability.Key Query Parameters / 

**Response Fields**

state (query) — Filter by CSR_GENERATED or COMPLETED

id — APNs certificate record UUID

apple_id — Apple ID associated with the certificate

meta.topic — APNs topic string for the certificate

meta.cert_created_at — Timestamp when the certificate was created at Apple

meta.cert_expiry_on — Certificate expiry datetime — monitor this for renewal

state — CSR_GENERATED or COMPLETED

**Common Use Cases**

Auditing all APNs certificates in the tenant and their expiry dates for renewal planning

Identifying certificates stuck in CSR_GENERATED state that have not been completed

Confirming which Apple ID is associated with each active certificate

**Best Practices**

Monitor meta.cert_expiry_on proactively — APNs certificates expire annually and must be renewed before expiry to maintain uninterrupted iOS device management

Filter by state=CSR_GENERATED to identify in-progress certificate setups that have not been completed

Renewing an APNs certificate must use the same Apple ID as the original; verify apple_id before beginning renewal

## Query parameters

- `limit` integer
- `offset` integer
- `state` 'CSR_GENERATED' | 'COMPLETED'

## Response `200`

APNs certificate meta data list for the Tenant

- object
  - `code` integer
  - `message` string
  - `content` object
    - `count` integer
    - `previous` string
    - `next` string
    - `results` TenantAPNSCertInfo[]
      - `id` string
      - `apple_id` string
      - `meta` object
        - `topic` string
        - `cert_created_at` string, date-time
        - `cert_expiry_on` string, date-time
      - `state` 'CSR_GENERATED' | 'COMPLETED' — state of APNs certificate upload
      - `created_by` number
      - `updated_by` number
      - `created_at` string, date-time
      - `updated_at` string, date-time

## Other responses

- `401` — Authorization information is missing or invalid.
- `500` — Internal server error

---

[API](https://skmtc.net/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.net/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/esper/esper-api-reference/revisions/e1f64cbb488e/schema)
