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

# Kueri saldo cuti

> Gunakan API DingTalk untuk mengkueri saldo cuti karyawan berdasarkan jenis cuti dan ID karyawan dengan paginasi, hingga 50 rekaman per panggilan.

Panggil API ini untuk mengkueri saldo cuti berdasarkan organisasi atau karyawan dengan paginasi. Setiap panggilan mengembalikan maksimal 50 rekaman.

## Permintaan

| **Informasi dasar** | |
| - | - |
| URL HTTP | [https://api.dingtalk.io/topapi/attendance/vacation/quota/list](https://api.dingtalk.io/topapi/attendance/vacation/quota/list) |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal　appType-Aplikasi perusahaan pihak ketiga |
| Izin yang diperlukan | permission-qyapi\_holiday\_readonly-Izin baca cuti DingTalk |

### Parameter kueri

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| access\_token | String | Ya | bE74xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini.   - Aplikasi internal: Dapatkan dengan memanggil API [Mendapatkan access\_token Aplikasi internal](https://help.dingtalk.io/id/open/development/obtain-orgapp-token). - Aplikasi perusahaan pihak ketiga: Dapatkan dengan memanggil API Mendapatkan access\_token Perusahaan Pihak Ketiga. |

### Isi permintaan

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| leave\_code | String | Ya | f84a2xxxx | Pengidentifikasi unik jenis cuti. Panggil API [Kueri daftar aturan cuti](https://help.dingtalk.io/id/open/development/holiday-type-query.md) untuk mendapatkan nilai leave\_code. |
| op\_userid | String | Ya | user01 | ID pengguna admin di organisasi Anda yang memiliki izin aplikasi untuk **Persetujuan OA**. |
| userids | String | Ya | user02,user03 | Daftar ID karyawan yang akan dikueri. |
| offset | Number | Ya | 0 | Offset paginasi. Harus berupa integer non-negatif yang dimulai dari 0. |
| size | Number | Ya | 10 | Ukuran halaman. Nilai maksimum: 50. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/vacation/quota/list" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=48acxxxx0dbdbee' \
-d 'leave_code=f84a2829-d245-4312-9ff2-0653e5b3abb2' \
-d 'offset=0' \
-d 'op_userid=zhangsan' \
-d 'size=10' \
-d 'userids=zhangsan%2Clisi'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/vacation/quota/list");
OapiAttendanceVacationQuotaListRequest req = new OapiAttendanceVacationQuotaListRequest();
req.setLeaveCode("f84a2xxxx");
req.setOpUserid("user01");
req.setUserids("user02,user03");
req.setOffset(0L);
req.setSize(10L);
OapiAttendanceVacationQuotaListResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import dingtalk.api

req=dingtalk.api.OapiAttendanceVacationQuotaListRequest("https://api.dingtalk.io/topapi/attendance/vacation/quota/list")

req.leave_code="f84a2829-d245-4312-9ff2-0653e5b3abb2"
req.op_userid="zhangsan"
req.userids="zhangsan,lisi"
req.offset=0
req.size=10
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
```

PHP

```php theme={"theme":{"light":"github-light","dark":"github-dark"}}
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiAttendanceVacationQuotaListRequest;
$req->setLeaveCode("f84a2829-d245-4312-9ff2-0653e5b3abb2");
$req->setOpUserid("zhangsan");
$req->setUserids("zhangsan,lisi");
$req->setOffset("0");
$req->setSize("10");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/vacation/quota/list");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/vacation/quota/list");
OapiAttendanceVacationQuotaListRequest req = new OapiAttendanceVacationQuotaListRequest();
req.LeaveCode = "f84a2829-d245-4312-9ff2-0653e5b3abb2";
req.OpUserid = "zhangsan";
req.Userids = "zhangsan,lisi";
req.Offset = 0L;
req.Size = 10L;
OapiAttendanceVacationQuotaListResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama | Tipe | Contoh | Deskripsi |
| - | - | - | - |
| result | OapiLeaveQuotaUserListVo | | Hasil yang dikembalikan. |
| has\_more | Boolean | false | Menunjukkan apakah masih ada data lainnya.   - **true**: Masih ada data lainnya. - **false**: Tidak ada data lainnya. |
| leave\_quotas | Leavequotas\[] | | Daftar saldo cuti. |
| userid | String | user01 | ID pengguna karyawan. |
| leave\_code | String | f84a2xxxx | Pengidentifikasi unik jenis cuti. |
| quota\_cycle | String | 2019 | Siklus yang berlaku untuk kuota. |
| quota\_id | String | f8abb2xxxx | Pengidentifikasi unik kuota. |
| start\_time | Number | 1653851001000 | Waktu mulai masa berlaku cuti, berupa stempel waktu dalam milidetik. |
| end\_time | Number | 1753851001000 | Waktu berakhir masa berlaku kuota, berupa stempel waktu dalam milidetik. |
| quota\_num\_per\_hour | Number | 1000 | Total kuota, dihitung dalam jam.  **Catatan**  Jika jenis cuti dihitung dalam jam, nilai ini tidak kosong dan dinyatakan dalam perseratus jam.  Contoh: 1000 = 10 jam. |
| quota\_num\_per\_day | Number | 1000 | Total kuota, dihitung dalam hari.  **Catatan**  Jika jenis cuti dihitung dalam hari, nilai ini tidak kosong dan dinyatakan dalam perseratus hari.  Contoh: 1000 = 10 hari. |
| used\_num\_per\_day | Number | 100 | Kuota yang telah digunakan, dihitung dalam hari.  **Catatan**  Jika jenis cuti dihitung dalam hari, nilai ini tidak kosong dan dinyatakan dalam perseratus hari.  Contoh: 100 = 1 hari. |
| used\_num\_per\_hour | Number | 1000 | Kuota yang telah digunakan, dihitung dalam jam.  **Catatan**  Jika jenis cuti dihitung dalam jam, nilai ini tidak kosong dan dinyatakan dalam perseratus jam.  Contoh: 1000 = 10 jam. |
| errcode | Number | 0 | Kode pengembalian. |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| success | Boolean | true | Menunjukkan apakah panggilan berhasil.   - **true**: Ya - **false**: Tidak |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "errcode": 0,
  "result": {
    "has_more": false,
    "leave_quotas": [
      {
        "end_time": 1753851001000,
        "leave_code": "f84a2xxxx",
        "quota_cycle": "2019",
        "quota_id": "f8abb2xxxx",
        "quota_num_per_day": 1000,
        "start_time": 1653851001000,
        "used_num_per_day": 100,
        "quota_num_per_hour": 1000,
        "userid": "user01",
        "used_num_per_hour": 1000
      }
    ]
  },
  "success": true,
  "request_id": "exz4w88xfo7n"
}
```

### Kode kesalahan

Jika panggilan API ini gagal, cari solusinya berdasarkan pesan error di dokumen [Kode kesalahan global](https://help.dingtalk.io/id/open/development/server-api-error-codes-1.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.