API PDPL

API Documentation

Satu endpoint OpenAI-compatible untuk model AI pilihan, dengan credential, quota, usage, dan billing yang tersinkron dengan Dashboard API.

API PDPL

OpenAI-compatible API untuk workflow kamu

Credential, paket token, usage, dan payment dikelola dari satu Dashboard API. Raw token hanya ditampilkan saat register atau rotasi.

Buat API Access

Base URL

https://api.produkdigitalpalinglaris.web.id/api/v1

API Token

YOUR_API_TOKEN

Rate limit

60 req/menit

01 · API DOCS

Mulai Cepat

Contoh pemakaian API dalam beberapa bahasa. Ganti YOUR_API_TOKEN dengan credential dari Dashboard API.

cURL — Chat Completions

curl -X POST https://api.produkdigitalpalinglaris.web.id/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "model": "auto",
    "messages": [{"role":"user","content":"Halo, apa kabar?"}]
  }'

Python — OpenAI SDK

from openai import OpenAI

client = OpenAI(
    base_url="https://api.produkdigitalpalinglaris.web.id/api/v1",
    api_key="YOUR_API_TOKEN"
)

response = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Halo!"}]
)

print(response.choices[0].message.content)

Node.js — OpenAI SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.produkdigitalpalinglaris.web.id/api/v1",
  apiKey: "YOUR_API_TOKEN"
});

const response = await client.chat.completions.create({
  model: "auto",
  messages: [{ role: "user", content: "Halo!" }]
});

console.log(response.choices[0].message.content);

Go — HTTP

package main

import (
  "bytes"
  "fmt"
  "io"
  "net/http"
)

func main() {
  body := []byte(`{"model":"auto","messages":[{"role":"user","content":"Halo!"}]}`)
  req, _ := http.NewRequest("POST", "https://api.produkdigitalpalinglaris.web.id/api/v1/chat/completions", bytes.NewBuffer(body))
  req.Header.Set("Content-Type", "application/json")
  req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  data, _ := io.ReadAll(res.Body)
  fmt.Println(string(data))
}

02 · API DOCS

Overview

Gateway memvalidasi credential, account, entitlement, model, rate limit, dan quota sebelum request diteruskan ke provider.

Credential

Bearer token diverifikasi dari hash dan dapat direvoke kapan saja.

Metering

Input token, output token, latency, provider, dan status request dicatat.

Quota

Token didebit dari entitlement aktif melalui ledger append-only.

03 · API DOCS

Models

Model yang dapat dipakai mengikuti provider aktif dan entitlement account.

curl https://api.produkdigitalpalinglaris.web.id/api/v1/models \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Katalog publik juga tersedia di halaman Model AI dan Top Model.

04 · API DOCS

Chat Completions

Gunakan model auto atau model ID yang tersedia dari endpoint models.

POST https://api.produkdigitalpalinglaris.web.id/api/v1/chat/completions
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

{
  "model": "auto",
  "messages": [{"role": "user", "content": "Jelaskan API PDPL"}],
  "stream": false
}

Streaming belum tersedia pada gateway saat ini. Gunakan stream: false.

05 · API DOCS

Usage & Quota

Usage tersedia di Dashboard API dan bersumber langsung dari event gateway.

Cek usage

Buka Dashboard API → Usage untuk request, total token, input/output, HTTP status, dan latency.

Buka Usage

Aktifkan quota

Buat invoice dan payment paket dari Dashboard API → Billing. Quota aktif setelah verifikasi.

Buka Billing

06 · API DOCS

Integrations

Gunakan base URL yang sama pada tool OpenAI-compatible.

OpenAI SDK

Python dan Node.js dapat langsung memakai contoh pada bagian Mulai Cepat dengan base URL API PDPL.

OpenCode / custom gateway

{
  "provider": {
    "pdpl": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.produkdigitalpalinglaris.web.id/api/v1",
        "apiKey": "YOUR_API_TOKEN"
      },
      "models": { "auto": { "name": "auto" } }
    }
  },
  "model": "pdpl/auto"
}
Kompatibilitas saat ini: kontrak yang aktif adalah OpenAI-compatible chat completions. Anthropic /v1/messages dan OpenAI Responses belum diaktifkan pada gateway ini.

07 · API DOCS

Errors

Error dikembalikan dalam format JSON yang konsisten.

{
  "error": {
    "type": "quota_exceeded",
    "code": "quota_exceeded",
    "message": "Quota token API tidak mencukupi."
  }
}

401 — credential invalid/revoked.

402 — quota atau entitlement tidak aktif.

422 — payload request tidak valid.

429 — rate limit tercapai.

Jaga credential kamu

Jangan commit API Token ke repository. Jika token bocor, segera lakukan rotasi dari Dashboard API → API Access.