> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsend.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /upload/

> Upload an Ipa or Apk build

To upload a build, use the following endpoint:

```
https://api.appsend.dev/v1/uploads/
```

<Warning>Note the required **trailing slash**.</Warning>

## Request data

Content-type: **multipart/form-data**

<ParamField path="file" type="string" required>
  Build file (.apk or .ipa). Max size: **150mb**
</ParamField>

<ParamField path="message" type="string">
  Build description message
</ParamField>

<ParamField path="testers" type="string">
  Comma-separated emails of users that will be invited to test a build. Max **5 emails**
</ParamField>

<RequestExample>
  ```bash cUrl theme={null}
  curl https://api.appsend.dev/v1/uploads/ \
   -F file=@build.ipa \
   -F message="Short build description" \
   -F testers="tester_1@example.com, tester_2@example.com" 
  ```

  ```Python Python theme={null}
  import requests

  url = 'https://api.appsend.dev/v1/uploads/'
  files = {'file': open('build.ipa', 'rb')}
  data = {
  'message': 'Short build description',
  'testers': 'tester_1@example.com, tester_2@example.com'
  }

  response = requests.post(url, files=files, data=data)
  data = response.json()

  print(f"Install url: https://appsend.dev/i/{data['uid']}")
  ```
</RequestExample>

## Response

<ResponseField name="uid" type="string" required>
  Uid of build, used to derive install url
</ResponseField>

<ResponseField name="fileName" type="string" required>
  Name of the uploaded file
</ResponseField>

<ResponseField name="fileSize" type="integer" required>
  Size of uploaded build **in bytes**
</ResponseField>

<ResponseField name="createdAt" type="datetime" required>
  Date and time of upload
</ResponseField>

<ResponseField name="message" type="string">
  Optional build description message
</ResponseField>

<ResponseField name="testers" type="array[string]">
  Optional list of testers' emails that were invited
</ResponseField>

<ResponseExample>
  ```json Response example theme={null}
  {
     "uid":"0a99e402-f160-4224-948d-e9e95386506d",
     "fileName":"build.ipa",
     "fileSize":11492275,
     "fileType":"ipa",
     "createdAt":"2024-01-20T20:02:30.861700",
     "message":"Added new uploads feature",
     "testers":[
        "tester_1@example.com"
     ]
  }
  ```
</ResponseExample>
