1e41f4b71Sopenharmony_ci# @ohos.request (Upload and Download) (System API)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **request** module provides applications with basic upload, download, and background transmission agent capabilities.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.request](js-apis-request.md).
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci## Modules to Import
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```js
16e41f4b71Sopenharmony_ciimport { request } from '@kit.BasicServicesKit';
17e41f4b71Sopenharmony_ci```
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci## Filter<sup>10+</sup>
21e41f4b71Sopenharmony_ciDefines the filter criteria.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Request.FileTransferAgent
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description|
26e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
27e41f4b71Sopenharmony_ci| bundle | string | No| Bundle name of the application.<br>**System API**: This is a system API.|
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci## TaskInfo<sup>10+</sup> 
31e41f4b71Sopenharmony_ciDefines the data structure of the task information for query. The fields available vary depending on the query type.
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Request.FileTransferAgent
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description|
36e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
37e41f4b71Sopenharmony_ci| uid | string | No| UID of the application. It is only available for query by system applications.<br>**System API**: This is a system API.|
38e41f4b71Sopenharmony_ci| bundle | string | No| Bundle name of the application. It is only available for query by system applications.<br>**System API**: This is a system API.|
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci## request.agent.query<sup>10+</sup>
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ciquery(id: string, callback: AsyncCallback&lt;TaskInfo&gt;): void
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ciQueries a task details based on the task ID. This API uses an asynchronous callback to return the result.
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.DOWNLOAD_SESSION_MANAGER or ohos.permission.UPLOAD_SESSION_MANAGER
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Request.FileTransferAgent
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci**System API**: This is a system API.
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**Parameters**
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci| Name| Type                                          | Mandatory| Description|
57e41f4b71Sopenharmony_ci|----------------------------------------------| -------- | -------- | -------- |
58e41f4b71Sopenharmony_ci| id | string                                       | Yes| Task ID.|
59e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;[TaskInfo](#taskinfo10)&gt; | Yes| Callback used to return task details.|
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci**Error codes**
62e41f4b71Sopenharmony_ciFor details about the error codes, see [Upload and Download Error Codes](errorcode-request.md).
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci| ID| Error Message|
65e41f4b71Sopenharmony_ci| -------- | -------- |
66e41f4b71Sopenharmony_ci| 201 | permission denied. |
67e41f4b71Sopenharmony_ci| 202 | permission verification failed, application which is not a system application uses system API. |
68e41f4b71Sopenharmony_ci| 401 | parameter error. Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type |
69e41f4b71Sopenharmony_ci| 13400003 | task service ability error. |
70e41f4b71Sopenharmony_ci| 21900006 | task not found. |
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**Example**
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci  ```ts
75e41f4b71Sopenharmony_ci  import { BusinessError } from '@kit.BasicServicesKit';
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci  request.agent.query("123456", (err: BusinessError, taskInfo: request.agent.TaskInfo) => {
78e41f4b71Sopenharmony_ci    if (err) {
79e41f4b71Sopenharmony_ci      console.error(`Failed to query a upload task, Code: ${err.code}, message: ${err.message}`);
80e41f4b71Sopenharmony_ci      return;
81e41f4b71Sopenharmony_ci    }
82e41f4b71Sopenharmony_ci    console.info(`Succeeded in querying the upload task. Result: ${taskInfo.uid}`);
83e41f4b71Sopenharmony_ci  });
84e41f4b71Sopenharmony_ci  ```
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci## request.agent.query<sup>10+</sup>
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ciquery(id: string): Promise&lt;TaskInfo&gt;
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ciQueries a task details based on the task ID. This API uses a promise to return the result.
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.DOWNLOAD_SESSION_MANAGER or ohos.permission.UPLOAD_SESSION_MANAGER
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Request.FileTransferAgent
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci**System API**: This is a system API.
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci**Parameters**
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description|
102e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
103e41f4b71Sopenharmony_ci| id | string | Yes| Task ID.|
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**Return value**
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci| Type                                    | Description                     |
108e41f4b71Sopenharmony_ci|----------------------------------------| ------------------------- |
109e41f4b71Sopenharmony_ci| Promise&lt;[TaskInfo](#taskinfo10)&gt; | Promise Promise used to return task details.|
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci**Error codes**
112e41f4b71Sopenharmony_ciFor details about the error codes, see [Upload and Download Error Codes](errorcode-request.md).
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci| ID| Error Message|
115e41f4b71Sopenharmony_ci| -------- | -------- |
116e41f4b71Sopenharmony_ci| 201 | permission denied. |
117e41f4b71Sopenharmony_ci| 202 | permission verification failed, application which is not a system application uses system API. |
118e41f4b71Sopenharmony_ci| 401 | parameter error. Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type |
119e41f4b71Sopenharmony_ci| 13400003 | task service ability error. |
120e41f4b71Sopenharmony_ci| 21900006 | task not found. |
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci**Example**
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci  ```ts
125e41f4b71Sopenharmony_ci  import { BusinessError } from '@kit.BasicServicesKit';
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci  request.agent.query("123456").then((taskInfo: request.agent.TaskInfo) => {
128e41f4b71Sopenharmony_ci    console.info(`Succeeded in querying the upload task. Result: ${taskInfo.uid}`);
129e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
130e41f4b71Sopenharmony_ci    console.error(`Failed to query a upload task, Code: ${err.code}, message: ${err.message}`);
131e41f4b71Sopenharmony_ci  });
132e41f4b71Sopenharmony_ci  ```
133