# FAQ

Receive custom notifications on your iOS/Android devices

## My API secret key has been leaked. What do I do?

If your API credentials are compromised you need to immediately contact our support team so that we issue a new API key.

## I'm having trouble with API integration?

Please contact our support so that we can assist you with API integration. [Contact Support.](https://pushbytechulus.freshdesk.com/support/tickets/new)


# Notify all devices or teams

APIs to send push notification to all devices connected to your account or or a team.

**The targeting is based on which API key you specify in the request:**&#x20;

* If you use you account API key the notification will be send to all devices in **your account**.
* If you specify a team API key then the notification will be send to **all devices for every member in the team**.

> Your API Key is required for making any requests using our API, you can find it inside the console integrations page (<https://push.techulus.com/console/integrations>) or `Account` tab in mobile app. Team API keys can be found in the team details screen.

{% hint style="info" %}
**The authentication header (API Key) to be specified in the request is `x-api-key`**
{% endhint %}

### There are several ways you can make this request:&#x20;

{% openapi src="/files/tjtk47c4EN3AhovsKzpZ" path="/notify" method="post" %}
[openapi.yaml](https://3949046982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lt89BeSuYfwUX8PpQ6V%2Fuploads%2FmJuOUe5RPz05aOwYDuY5%2Fopenapi.yaml?alt=media\&token=8da10805-d5b6-4423-9819-04f51986ab5d)
{% endopenapi %}

{% openapi src="/files/tjtk47c4EN3AhovsKzpZ" path="/notify/{apiKey}" method="get" %}
[openapi.yaml](https://3949046982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lt89BeSuYfwUX8PpQ6V%2Fuploads%2FmJuOUe5RPz05aOwYDuY5%2Fopenapi.yaml?alt=media\&token=8da10805-d5b6-4423-9819-04f51986ab5d)
{% endopenapi %}

{% openapi src="/files/tjtk47c4EN3AhovsKzpZ" path="/notify/{apiKey}" method="post" %}
[openapi.yaml](https://3949046982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lt89BeSuYfwUX8PpQ6V%2Fuploads%2FmJuOUe5RPz05aOwYDuY5%2Fopenapi.yaml?alt=media\&token=8da10805-d5b6-4423-9819-04f51986ab5d)
{% endopenapi %}

### We recommend the asynchronous API if you've more than 10 devices:

{% openapi src="/files/tjtk47c4EN3AhovsKzpZ" path="/notify-async" method="post" %}
[openapi.yaml](https://3949046982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lt89BeSuYfwUX8PpQ6V%2Fuploads%2FmJuOUe5RPz05aOwYDuY5%2Fopenapi.yaml?alt=media\&token=8da10805-d5b6-4423-9819-04f51986ab5d)
{% endopenapi %}

### Sample Request body

```
{
    "title": "Welcome to Push by Techulus",
    "body": "This is your first notification"
}
```


# Notify device groups

APIs to send push notification to a group of devices in your account, the request only works with account API key.

> Your API Key is required for making any requests using our API, you can find it inside the console integrations page (<https://push.techulus.com/console/integrations>) or `Account` tab in mobile app. Team API keys can be found in the team details screen.

{% hint style="info" %}
**The authentication header (API Key) to be specified in the request is `x-api-key`**
{% endhint %}

{% openapi src="/files/tjtk47c4EN3AhovsKzpZ" path="/notify/group/{groupId}" method="post" %}
[openapi.yaml](https://3949046982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lt89BeSuYfwUX8PpQ6V%2Fuploads%2FmJuOUe5RPz05aOwYDuY5%2Fopenapi.yaml?alt=media\&token=8da10805-d5b6-4423-9819-04f51986ab5d)
{% endopenapi %}


# Management API (beta)

APIs to mange your account

## Manage Team

## invite user to team

<mark style="color:green;">`POST`</mark> `https://push.techulus.com/api/management/v1/teams/invite`

Use this endpoint to add a user to the team, once the user has accepted the invite, all future notifications will be recieved by the user.

#### Headers

| Name                                        | Type   | Description              |
| ------------------------------------------- | ------ | ------------------------ |
| x-api-key<mark style="color:red;">\*</mark> | String | Your **account** API key |

#### Request Body

| Name                                    | Type   | Description  |
| --------------------------------------- | ------ | ------------ |
| team<mark style="color:red;">\*</mark>  | String | Team API key |
| email<mark style="color:red;">\*</mark> | String | Invite email |

{% tabs %}
{% tab title="200: OK Success" %}

```javascript
{
	"success": true,
	"message": "Invite sent"
}
```

{% endtab %}

{% tab title="400: Bad Request Failure" %}

```json
{
	"success": false,
	"error": "error-code",
	"message": "error message"
}
```

{% endtab %}
{% endtabs %}

## delete an invite/team member

<mark style="color:red;">`DELETE`</mark> `https://push.techulus.com/api/management/v1/teams/invite`

Use this endpoint to remove a user from the team or revoke an invite

#### Headers

| Name                                        | Type   | Description              |
| ------------------------------------------- | ------ | ------------------------ |
| x-api-key<mark style="color:red;">\*</mark> | String | Your **account** API key |

#### Request Body

| Name                                    | Type   | Description  |
| --------------------------------------- | ------ | ------------ |
| team<mark style="color:red;">\*</mark>  | String | Team API key |
| email<mark style="color:red;">\*</mark> | String | Invite email |

{% tabs %}
{% tab title="200: OK Success" %}

```javascript
{
	"success": true,
	"message": "Invite/Member removed"
}
```

{% endtab %}

{% tab title="400: Bad Request Failure" %}

```json
{
	"success": false,
	"error": "error-code",
	"message": "error message"
}
```

{% endtab %}
{% endtabs %}


# Zapier Integration

Connect Push to hundreds of other apps with Zapier

[Zapier](https://zapier.com/apps/push-notification/integrations) lets you connect Push to 2,000+ other web services. Automated connections called Zaps, set up in minutes with no coding, can automate your day-to-day tasks and build workflows between apps that otherwise wouldn't be possible.

Each Zap has one app as the **Trigger**, where your information comes from and which causes one or more **Actions** in other apps, where your data gets sent automatically.&#x20;

### **Getting Started with Zapier**

Sign up for a free [Zapier](https://zapier.com/apps/push-notification/integrations) account, from there you can jump right in. To help you hit the ground running, here are some popular pre-made Zap&#x73;**.**

### Connect Push with Zapier

Once you've logged in to your Zapier account, go to **"My Apps"** by clicking on left navigation bar.

![](/files/-MSWwkB25fv4cfVvGTbG)

Next, click on "Add connection" to add a new app connection, you should see a dialog that lets you choose an app. Search for "push notification" and you should see the "Push Notification" app, click on it to continue.

![](/files/-MSWxADgUCZZ-6cQFGu5)

You'll see a popup that asks you to input your API Key, copy and paste the API key and click "Yes, Continue". You can get the API key from the mobile app Account tab or from Integration tab in [web console](https://push.techulus.com/console).&#x20;

{% hint style="info" %}
Depending on the use case, you have the option to utilize either your account level API key or a specific team API key.
{% endhint %}

![](/files/-MSWxUWkVIVt6u72jI8L)

Your API key will be validated and the conncetion is complete.

Once that's done you can start creating an automation! Use a pre-made Zap or create your own with the Zap Editor. **Creating a Zap requires no coding knowledge and you'll be walked step-by-step through the setup.**&#x20;

### Create Zaps using Push

While creating a Zap you can select "Push Notification" app to send notifications to your devices.

![](/files/-MSWyPjIKMo4n2W_ZbMs)


# Make Integration

The integration allows you to send notifications using Make, a no-code automation tool.

To get started, following the instructions here:

<https://www.make.com/en/help/app/techulus-push>


# Uptime Kuma

A self-hosted monitoring tool

Here are the steps for setting up Push with Uptime Kuma

1. Open Uptime Kuma dashboard and then go to Settings -> Notifications.
2. Press `Setup Notification` to add a new notification provider.
3. Select `Push by Techulus` from Notification type dropdown and add a friendly name of your choice.
4. Open Push console by visiting [https://push.techulus.com/console](https://push.techulus.com/console#!), and then open `Integrations` tab.
5. Cope your `API key` and paste it into `API Key` section of `Setup Notification` dialog.
6. Click `Test` to verify the integration and then press `Save`, and you're done!

Now you can enable Push for any uptime checks.


# Github

Trigger push notification from Github Actions

Read more about integration here:

<https://github.com/techulus/push-github-action>


