> 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/botim-alter-und-geschlecht-prufer-api.md).

# Botim-Alter-und-Geschlecht-Prüfer-API

Prüfen Sie Botim-Registrierungen und ergänzen Sie registrierte Nummern um Geschlecht und Alter.

## Produktparameter

| Parameter                   | Wert                          |
| --------------------------- | ----------------------------- |
| Aufgabentyp                 | `botim_gender`                |
| Eingabetyp                  | Telefonnummer im E.164-Format |
| Mindestens gültige Einträge | 500                           |

{% hint style="info" %}
`estimated_amount` wird anhand der Kontopreise berechnet und ist für die Aufgabe maßgeblich.
{% endhint %}

## Eingabeformat

Laden Sie eine `.txt`- oder `.csv`-Datei mit einer Telefonnummer pro Zeile hoch. E.164 wird empfohlen.

```
+14155552671+442071838750
```

## Aufgabe erstellen

`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"'
```

Die API gibt eine Aufgaben-ID zurück. Verwenden Sie sie für die Statusabfrage.

## Upload-Antwort

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

## Aufgabenstatus prüfen

`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"'
```

Fragen Sie ab, bis `status` den Wert `exported` hat. `pending` und `processing` sind nicht abgeschlossen.

## Antwort während der Verarbeitung

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

## Exportierte Antwort

```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"  }}
```

## Ergebnisfelder

| Feld                | Beschreibung                                                           | Beispiel                |
| ------------------- | ---------------------------------------------------------------------- | ----------------------- |
| `number` / `Number` | Eingegebene Telefonnummer. CSV nutzt `number`, XLSX nutzt `Number`.    | +14155552671            |
| `activated`         | Ob für die Nummer ein Konto erkannt wurde.                             | yes / no                |
| `gender`            | Erkanntes Geschlecht eines registrierten Botim-Kontos.                 | Male / Female / Unknown |
| `age`               | Erkanntes Alter oder Altersintervall eines registrierten Botim-Kontos. | 25-34                   |

{% hint style="info" %}
Ohne erkanntes Konto wird `activated=no` ausgegeben; fehlende Profildaten bleiben leer.
{% endhint %}

## Ergebnisdatei verarbeiten

Laden Sie das Paket erst nach dem Export über `result_url` herunter und behalten Sie die Spaltennamen bei.

## Antwortfelder

| Feld               | Beschreibung                                       |
| ------------------ | -------------------------------------------------- |
| `created_at`       | Zeitpunkt der Erstellung.                          |
| `updated_at`       | Zeitpunkt der letzten Aktualisierung.              |
| `task_id`          | Eindeutige Aufgaben-ID.                            |
| `status`           | `pending`, `processing`, `exported` oder `failed`. |
| `total`            | Anzahl gültiger Eingaben.                          |
| `success`          | Erfolgreich verarbeitete Werte.                    |
| `failure`          | Fehlgeschlagene Werte.                             |
| `result_url`       | Download-URL nach dem Export.                      |
| `actual_amount`    | Endgültiger Betrag, falls verfügbar.               |
| `estimated_amount` | Geschätzter Betrag bei Erstellung.                 |

## Statuscodes

| Status | Beschreibung                                                              |
| ------ | ------------------------------------------------------------------------- |
| `200`  | Anfrage erfolgreich.                                                      |
| `202`  | Aufgabe erstellt und geschätzter Betrag belastet.                         |
| `400`  | Ungültige Datei, nicht unterstützter Typ oder zu wenige gültige Einträge. |
| `401`  | API-Schlüssel fehlt oder ist ungültig.                                    |
| `402`  | Guthaben reicht nicht aus.                                                |
| `404`  | Aufgabe nicht gefunden.                                                   |
| `413`  | Datei ist zu groß.                                                        |
| `500`  | Interner Fehler; später erneut versuchen.                                 |

## Betriebshinweise

* Die Aufgabe ist asynchron; fragen Sie mit der Aufgaben-ID ab.
* Nur gültige normalisierte Nummern zählen zur Mindestmenge.
* Fehlgeschlagene Aufgaben werden gemäß Abrechnungsablauf automatisch erstattet.


---

# 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/botim-alter-und-geschlecht-prufer-api.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.
