> For the complete documentation index, see [llms.txt](https://docs.geeknums.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geeknums.io/api-pemeriksa-usia-and-gender-botim.md).

# API Pemeriksa Usia & Gender Botim

Periksa registrasi Botim dan lengkapi nomor terdaftar dengan data gender dan usia.

## Parameter produk

| Parameter           | Nilai                      |
| ------------------- | -------------------------- |
| Jenis tugas         | `botim_gender`             |
| Jenis input         | Nomor telepon format E.164 |
| Minimum entri valid | 500                        |

{% hint style="info" %}
`estimated_amount` dihitung dari harga akun dan menjadi acuan biaya tugas.
{% endhint %}

## Format input

Unggah file `.txt` atau `.csv` dengan satu nomor per baris. Format E.164 disarankan.

```
+14155552671+442071838750
```

## Buat tugas

`POST https://api.checknumber.ai/v1/tasks`

```bash
curl --location 'https://api.checknumber.ai/v1/tasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'file=@"./numbers.txt"' \--form 'task_type="botim_gender"'
```

API mengembalikan ID tugas. Simpan untuk polling status.

## Respons unggah

```json
{  "task_id": "d4g8o46p2jvh04o9uolg",  "status": "pending",  "total": 500,  "estimated_amount": {    "amount": "0.350000",    "currency": "USD"  },  "message": "Task created successfully"}
```

## Periksa status tugas

`POST https://api.checknumber.ai/v1/gettasks`

```bash
curl --location 'https://api.checknumber.ai/v1/gettasks' \--header 'X-API-Key: YOUR_API_KEY' \--form 'task_id="d4g8o46p2jvh04o9uolg"'
```

Polling hingga `status` menjadi `exported`. `pending` dan `processing` belum selesai.

## Respons pemrosesan

```json
{  "task_id": "d4g8o46p2jvh04o9uolg",  "status": "processing",  "total": 500,  "success": 250,  "failure": 0}
```

## Respons ekspor

```json
{  "task_id": "d4g8o46p2jvh04o9uolg",  "status": "exported",  "total": 500,  "success": 500,  "failure": 0,  "result_url": "https://example-link-to-results.zip",  "actual_amount": {    "amount": "0.350000",    "currency": "USD"  }}
```

## Kolom hasil

| Kolom               | Deskripsi                                                          | Contoh                  |
| ------------------- | ------------------------------------------------------------------ | ----------------------- |
| `number` / `Number` | Nomor telepon input. CSV memakai `number`; XLSX memakai `Number`.  | +14155552671            |
| `activated`         | Apakah akun terdeteksi untuk nomor tersebut.                       | yes / no                |
| `gender`            | Gender yang terdeteksi untuk akun Botim terdaftar.                 | Male / Female / Unknown |
| `age`               | Usia atau rentang usia yang terdeteksi untuk akun Botim terdaftar. | 25-34                   |

{% hint style="info" %}
Baris tanpa akun menghasilkan `activated=no`; kolom profil kosong jika datanya tidak tersedia.
{% endhint %}

## Pemrosesan file hasil

Unduh paket dari `result_url` hanya setelah diekspor dan pertahankan nama kolom.

## Kolom respons

| Kolom              | Deskripsi                                           |
| ------------------ | --------------------------------------------------- |
| `created_at`       | Waktu pembuatan tugas.                              |
| `updated_at`       | Waktu pembaruan terakhir.                           |
| `task_id`          | ID tugas unik.                                      |
| `status`           | `pending`, `processing`, `exported`, atau `failed`. |
| `total`            | Total input valid.                                  |
| `success`          | Nilai yang berhasil diproses.                       |
| `failure`          | Nilai yang gagal.                                   |
| `result_url`       | URL unduhan setelah ekspor.                         |
| `actual_amount`    | Biaya akhir jika tersedia.                          |
| `estimated_amount` | Estimasi biaya saat tugas dibuat.                   |

## Kode status

| Status | Deskripsi                                                              |
| ------ | ---------------------------------------------------------------------- |
| `200`  | Permintaan berhasil.                                                   |
| `202`  | Tugas dibuat dan estimasi biaya diterapkan.                            |
| `400`  | File tidak valid, tipe tidak didukung, atau entri kurang dari minimum. |
| `401`  | API Key hilang atau tidak valid.                                       |
| `402`  | Saldo tidak cukup.                                                     |
| `404`  | Tugas tidak ditemukan.                                                 |
| `413`  | File terlalu besar.                                                    |
| `500`  | Kesalahan internal; coba lagi nanti.                                   |

## Catatan operasional

* Tugas bersifat asinkron; polling dengan ID tugas.
* Hanya nomor valid dan ternormalisasi yang dihitung.
* Tugas gagal dikembalikan dananya sesuai alur penagihan.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.geeknums.io/api-pemeriksa-usia-and-gender-botim.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
