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

# Format Respons

> Bagaimana respons Wappfy API terstruktur — format envelope standar, paginasi, dan format error.

# Format Respons

Semua respons Wappfy API mengikuti format envelope yang konsisten.

## Respons sukses

Setiap respons sukses dibungkus dalam objek standar:

```json theme={null}
{
  "success": true,
  "data": { ... },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

| Field            | Tipe              | Deskripsi                                |
| ---------------- | ----------------- | ---------------------------------------- |
| `success`        | `boolean`         | Selalu `true` untuk respons sukses       |
| `data`           | `object \| array` | Payload respons                          |
| `meta.requestId` | `string`          | Pengenal permintaan unik untuk debugging |
| `meta.timestamp` | `string`          | Timestamp ISO 8601                       |

## Respons berpaginasi

Endpoint yang mengembalikan daftar menyertakan metadata paginasi:

```json theme={null}
{
  "success": true,
  "data": {
    "items": [ ... ],
    "total": 42,
    "page": 1,
    "limit": 20,
    "totalPages": 3
  },
  "meta": {
    "requestId": "req_def456",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

Gunakan parameter query `page` dan `limit` untuk mengontrol paginasi:

```bash theme={null}
GET /api/instances?page=2&limit=10
```

## Respons error

Permintaan yang gagal mengembalikan objek error:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "INSTANCE_NOT_FOUND",
    "message": "Instance with ID abc123 not found",
    "details": {}
  },
  "meta": {
    "requestId": "req_ghi789",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

### Kode error umum

| Status HTTP | Kode                  | Deskripsi                                    |
| ----------- | --------------------- | -------------------------------------------- |
| `400`       | `VALIDATION_ERROR`    | Body permintaan gagal validasi               |
| `401`       | `UNAUTHORIZED`        | Token autentikasi tidak ada atau tidak valid |
| `403`       | `FORBIDDEN`           | Izin tidak mencukupi                         |
| `404`       | `NOT_FOUND`           | Resource tidak ditemukan                     |
| `409`       | `PLAN_LIMIT_REACHED`  | Batas instance untuk paket Anda              |
| `429`       | `RATE_LIMIT_EXCEEDED` | Terlalu banyak permintaan                    |
| `500`       | `INTERNAL_ERROR`      | Error server yang tidak terduga              |

<Note>
  `meta.requestId` berguna untuk permintaan bantuan — sertakan saat menghubungi dukungan untuk proses debugging yang lebih cepat.
</Note>
