Upload apps using REST API

Learn how to upload apps to the app repository using our REST API.

Generate an upload URL

First, call /apps/uploadUrl to generate the URL you’ll need to upload your app to our private S3 bucket on Amazon Web Services (AWS).

# You can also use wget
curl -X POST https://api.kobiton.com/v1/apps/uploadUrl \
  -H 'Authorization: Basic dGVzdHVzZXI6MTIzZWQtMTIzZmFjLTkxMzdkY2E=' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
  "filename" :  "${app-filename}", # Replace with $DESCRIPTION$
  "appId" :  1
}'

A successful response will output the following:

Example
{
"appPath" :  "users/1/apps/app‐prod‐debug‐237824a0‐302c‐9bfd‐ff417c89610a.apk",
"url" :  "https://kobiton-us.s3.amazonaws.com/users/1/apps/app‐f417c89610a.apk?AWSAccessKeyId=AKINQ57IQCo
"
}

Keep a copy of appPath. You’ll need it later to initiate your upload.

Send app to S3

Next, make a PUT request using the url you generated to send your app to our private S3 bucket.

# You can also use wget
curl
  -T ${filePath} \  # Replace with $DESCRIPTION$
  -H "Content-Type: application/octet-stream" \
  -H "x-amz-tagging: unsaved=true" \
  -X PUT ${presignedUrl} # Replace with $DESCRIPTION$

A successful PUT request will return a 200 status.

Initiate upload

Finally, make a POST request to initiate your upload to the app repository in Kobiton. Be sure to upload a supported filetype.

# You can also use wget
curl -X POST https://api.kobiton.com/v1/apps \
  -H 'Authorization: Basic dGVzdHVzZXI6MTIzZWQtMTIzZmFjLTkxMzdkY2E=' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
  "filename" :  "${app-filename}", # Replace with $DESCRIPTION$
  "appPath" :  "${uploadUrl-call}" # Replace with $DESCRIPTION$
}'

If your request was successful, POST will return 200. The API will then extract your app’s metadata, preform security checks, and upload the app to your library.