ZeepNotti Docs
API Reference

Apps

Create and manage ZeepNotti apps, the top-level container for devices, credentials, and delivery.

GET
/v1/apps

Lists every App belonging to the company in ?company_id=, filtered to the caller's accessible apps when the caller has the "member" role.

Authorization

SessionAuth

Query Parameters

company_id*string

Company ID

Response Body

application/json

curl -X GET "https://example.com/v1/apps?company_id=string"
[  {    "apns_configured": true,    "apns_environment": "string",    "company_id": "string",    "created_at": "string",    "fcm_configured": true,    "id": "string",    "name": "string"  }]
POST
/v1/apps

Creates an App under the given company and returns its one-time-reveal REST and Client keys.

Authorization

SessionAuth

Request Body

application/json

App name and owning company ID

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/apps" \  -H "Content-Type: application/json" \  -d '{}'
{  "apns_configured": true,  "apns_environment": "string",  "client_key": "string",  "company_id": "string",  "created_at": "string",  "fcm_configured": true,  "id": "string",  "name": "string",  "rest_key": "string"}
GET
/v1/apps/{app_id}

Fetches a single App by ID, scoped to the caller's company.

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Response Body

application/json

curl -X GET "https://example.com/v1/apps/string"
{  "apns_configured": true,  "apns_environment": "string",  "company_id": "string",  "created_at": "string",  "fcm_configured": true,  "id": "string",  "name": "string"}
PATCH
/v1/apps/{app_id}

Updates the App's display name.

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Request Body

application/json

New app name

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/v1/apps/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "apns_configured": true,  "apns_environment": "string",  "company_id": "string",  "created_at": "string",  "fcm_configured": true,  "id": "string",  "name": "string"}
DELETE
/v1/apps/{app_id}

Deletes an App. Fails if the App still has dependent records (devices, templates, segments, notifications, or webhooks).

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Response Body

curl -X DELETE "https://example.com/v1/apps/string"
Empty
POST
/v1/apps/{app_id}/credentials/apns

Stores the App's Apple Push Notification service credential (certificate or token-based key), encrypted at rest.

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Request Body

application/json

APNS credential payload

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/apps/string/credentials/apns" \  -H "Content-Type: application/json" \  -d '{}'
{  "apns_configured": true,  "apns_environment": "string",  "company_id": "string",  "created_at": "string",  "fcm_configured": true,  "id": "string",  "name": "string"}
POST
/v1/apps/{app_id}/credentials/fcm

Stores the App's Firebase Cloud Messaging service-account JSON, encrypted at rest.

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Request Body

application/json

FCM service account JSON

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/apps/string/credentials/fcm" \  -H "Content-Type: application/json" \  -d '{}'
{  "apns_configured": true,  "apns_environment": "string",  "company_id": "string",  "created_at": "string",  "fcm_configured": true,  "id": "string",  "name": "string"}
POST
/v1/apps/{app_id}/keys/rotate

Generates a new REST or Client key for the App and invalidates the old one. The new plaintext key is returned exactly once.

Authorization

SessionAuth

Path Parameters

app_id*string

App ID

Request Body

application/json

Which key type to rotate: \

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/apps/string/keys/rotate" \  -H "Content-Type: application/json" \  -d '{}'
{  "key": "string",  "key_type": "string"}