# Pull

***

## Get download link for an app

> Get download link for an app

```json
{"openapi":"3.1.1","info":{"title":"ByteNite developers API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/dev"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"commonGenericResponse":{"type":"object","properties":{"ok":{"type":"boolean","description":"True if the request was successful."},"requestId":{"type":"string","description":"Internal request identifier for tracing or support."},"message":{"type":"string","description":"Additional message providing status or context."},"error":{"$ref":"#/components/schemas/commonError","description":"Optional error information if the request failed."}}},"commonError":{"type":"object","properties":{"code":{"type":"integer","format":"int64","description":"Error code if the request failed."},"message":{"type":"string","description":"Short description of the error if occurred."},"description":{"type":"string","description":"Full detailed explanation of the error if applicable."}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}},"paths":{"/apps/{appTag}/download":{"get":{"summary":"Get download link for an app","description":"Get download link for an app","operationId":"Developer_GetAppDownloadLink","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/commonGenericResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/commonGenericResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"string"},"name":"appTag","description":"Unique tag of the app","in":"path","required":true}],"tags":["apps"]}}}}
```


---

# 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.bytenite.com/api-reference/developer-api/apps/pull.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.
