# Pushlink APIs

## Metadata API

JSON output

```http
https://adm.pushlink.com/apps/api_list_json?packageName=some.package.name&apiKey=yourApiKey

#optional query string param --> &deviceId=mydeviceID
```

## Upload API

After uploading, you can manually set up the APK as current in the web administration

```bash
curl -F "apiKey=yourApiKey" -F "apk=@yourApp.apk" https://adm.pushlink.com/apps/api_upload
```

There are two optional parameters:

```bash
-F "current=true" -F "whatsnew=this is the fanciest release" 
```

### Raw text responses

> We understand the response should be better. In the next version of the API, the response will be JSON with error codes, and better English will be used in the text description.

* PushLink deploy sucessful.
* PushLink deploy fails. Invalid Api Key.
* PushLink deploy fails. Invalid APK file.
* PushLink deploy fails. This APK hash is the same of another APK you have uploaded.

## Download API

Download the current apk

```bash
curl -o yourApp.apk 'https://adm.pushlink.com/download?package=some.package.name&api_key=yourApiKey'
```

{% hint style="info" %}
You can also generate a **hashed download link** in the dashboard to hide your credentials.
{% endhint %}

![](/files/-LLyeGHr1h8NyOusKLSV)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pushlink.com/pushlink-apis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
