GetRun by Getcore API Documentation
GetRun API

Build once. Run every model.

GetRun API memberi Anda akses terstandar ke model image, video, audio, dan lainnya melalui satu endpoint yang konsisten. Bayar hanya untuk hasil yang sukses.

🌐 Base URLhttps://getrun.id/v1
RpHarga integer IDR
Harga jelas, pembulatan mudah.
✓Task gagal tidak ditagih
Saldo hanya terpotong jika hasil sukses.

1. Quickstart

Buat task pertama Anda dalam hitungan detik. Generation berjalan asynchronous: buat task, lalu poll statusnya sampai selesai. Contoh dengan GetRun Assemble:

curl -X POST https://getrun.id/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: my-task-001" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "getrun-edit/assemble",
    "input": {
      "clips": [
        "https://storage.getcore.id/outputs/task_a/0.mp4"
      ],
      "seconds": 3,
      "timeline": "{\"segments\":[{\"clip\":0,\"start\":0,\"end\":3,\"caption\":\"Stop scrolling\"}]}",
      "resolution": "720p",
      "aspect_ratio": "9:16"
    }
  }'
const res = await fetch('https://getrun.id/v1/tasks', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Idempotency-Key': 'my-task-001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "model": "getrun-edit/assemble",
    "input": {
      "clips": [
        "https://storage.getcore.id/outputs/task_a/0.mp4"
      ],
      "seconds": 3,
      "timeline": "{\"segments\":[{\"clip\":0,\"start\":0,\"end\":3,\"caption\":\"Stop scrolling\"}]}",
      "resolution": "720p",
      "aspect_ratio": "9:16"
    }
  }),
});
const task = await res.json();
import requests

res = requests.post(
    "https://getrun.id/v1/tasks",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Idempotency-Key": "my-task-001",
    },
    json={
      "model": "getrun-edit/assemble",
      "input": {
        "clips": [
          "https://storage.getcore.id/outputs/task_a/0.mp4"
        ],
        "seconds": 3,
        "timeline": "{\"segments\":[{\"clip\":0,\"start\":0,\"end\":3,\"caption\":\"Stop scrolling\"}]}",
        "resolution": "720p",
        "aspect_ratio": "9:16"
      }
    },
)
task = res.json()
ℹ️ Respons akan berisi task_id. Gunakan untuk memeriksa status dan mengambil hasil.

2. Authentication

Setiap request harus menyertakan API key Anda di header Authorization. Key penuh hanya ditampilkan sekali saat dibuat.

Authorization: Bearer YOUR_API_KEY
→ Next stepCreate your first API key →

3. Task lifecycle

Membuat task, cek status, ambil hasil

queued → processing → succeeded
   │          │
   ├──────────┴──→ failed      (tidak ditagih, reservasi dikembalikan)
   └─────────────→ cancelled   (hanya saat masih queued)
StatusKeterangan
queuedTask sedang diantrikan.
processingSedang diproses model.
succeededBerhasil — output.urls berisi hasil.
failedGagal — lihat error, tidak ditagih.

Poll GET /v1/tasks/{task_id} tiap 2–5 detik. Task yang masih queued bisa dibatalkan via POST /v1/tasks/{task_id}/cancel.

4. Harga & billing

Models

Setiap model punya halaman referensinya sendiri. Daftar live juga tersedia via GET https://getrun.id/v1/models.

GetRun Assemble
GetRun · video · getrun-edit/assemble
Rp20 / detik keluaran
Suno V5
Suno · audio · suno/v5
Rp750 / generate (2 lagu)
Suno V4.5
Suno · audio · suno/v4-5
Rp750 / generate (2 lagu)
ElevenLabs Text to Speech
ElevenLabs · audio · elevenlabs/text-to-speech
Mulai Rp0,61 / karakter
ElevenLabs Music
ElevenLabs · audio · elevenlabs/music
Rp30,67 / detik
ElevenLabs Sound Effects
ElevenLabs · audio · elevenlabs/sound-effects
Rp24,66 / detik
ElevenLabs Voice Changer
ElevenLabs · audio · elevenlabs/voice-changer
Rp24,66 / detik audio
Seedream 5.0 Flash Text to Image
ByteDance · image · seedream/5-flash-text-to-image
Rp260 / image
Seedream 5.0 Flash Image to Image
ByteDance · image · seedream/5-flash-image-to-image
Rp260 / image
GPT Image 2.5 Flare Text to Image
OpenAI · image · gpt-image-2-5-flare-text-to-image/base
Mulai Rp490 / image
GPT Image 2.5 Flare Image to Image
OpenAI · image · gpt-image-2-5-flare-image-to-image/base
Mulai Rp490 / image
GPT Image 2.5 Sunburst Text to Image
OpenAI · image · gpt-image-2-5-sunburst-text-to-image/base
Mulai Rp490 / image
GPT Image 2.5 Sunburst Image to Image
OpenAI · image · gpt-image-2-5-sunburst-image-to-image/base
Mulai Rp490 / image
Seedream 5.0 Pro Image to Image
ByteDance · image · seedream/5-pro-image-to-image
Mulai Rp570 / image
Grok Imagine Image 2.0 Image Edit
xAI · image · grok-imagine-image-2-0/image-edit
Rp320 / gambar
Nano Banana 2
Google · image · nano-banana-2/base
Mulai Rp490 / image
Seedream 5.0 Pro Text to Image
ByteDance · image · seedream/5-pro-text-to-image
Mulai Rp570 / image
Qwen Image 3.0 Pro Image to Image
Qwen · image · qwen3/pro-image-to-image
Mulai Rp530 / gambar
GPT Image 2 Text to Image
OpenAI · image · gpt-image-2-text-to-image/base
Mulai Rp360 / image
GPT Image 2 Image to Image
OpenAI · image · gpt-image-2-image-to-image/base
Mulai Rp360 / image
Qwen Image 3.0 Pro Text to Image
Qwen · image · qwen3/pro-text-to-image
Mulai Rp490 / gambar
Nano Banana 2 Lite
Google · image · nano-banana-2-lite/base
Rp320 / image
Qwen Image 3.0 Text to Image
Qwen · image · qwen3/text-to-image
Rp360 / gambar
Qwen Image 3.0 Image to Image
Qwen · image · qwen3/image-to-image
Rp400 / gambar
Grok Imagine Image 2.0 Text to Image
xAI · image · grok-imagine-image-2-0/text-to-image
Rp320 / gambar
Qwen Image 2.1 Text to Image
Qwen · image · qwen2-1/text-to-image
Mulai Rp320 / gambar
Qwen Image 2.1 Image to Image
Qwen · image · qwen2-1/image-to-image
Mulai Rp320 / gambar
GPT-6 Astra
OpenAI · text · gpt/6-astra
Rp49.500 / 1M token input
GPT-6.1 Sol
OpenAI · text · gpt/6.1-sol
Rp9.900 / 1M token input
GPT-6 Sol
OpenAI · text · gpt/6-sol
Rp9.900 / 1M token input
GPT-6 Luna
OpenAI · text · gpt/6-luna
Rp495 / 1M token input
Seedance 2.5
ByteDance · video · bytedance/seedance-2-5
Mulai Rp1.760 / detik (480p; minimum 4 detik = Rp7.040)
MiniMax H3 Text to Video
MiniMax · video · minimax-h3/text-to-video
Mulai Rp730 / detik (768p; minimum 4 detik = Rp2.920)
Gemini Omni 1.1 Flash
Google · video · google/gemini-omni-flash-1-1
Mulai Rp975 / detik (360p; durasi 4 detik = Rp3.900)
GPT-5.6 Sol
OpenAI · text · gpt/5.6-sol
Rp24.750 / 1M token input
PixVerse V6 Reference to Video
PixVerse · video · pixverse-v6/reference-to-video
Mulai Rp300 / detik (360p; tanpa audio)
Seedance 2.0 Fast
ByteDance · video · bytedance/seedance-2-fast
Mulai Rp1.250 / detik (480p; minimum 4 detik = Rp5.000)
PixVerse V6 Text to Video
PixVerse · video · pixverse-v6/text-to-video
Mulai Rp300 / detik (360p; tanpa audio)
Gemini Omni Video
Google · video · gemini-omni-video/base
Mulai Rp1.272,50 / detik (720p; durasi 4 detik = Rp5.090)
HappyHorse 1.1 Reference to Video
Alibaba · video · happyhorse-1-1/reference-to-video
Mulai Rp1.720 / detik (720p; minimum 3 detik = Rp5.160)
GPT-5.6 Terra
OpenAI · text · gpt/5.6-terra
Rp12.375 / 1M token input
GPT-5.6 Luna
OpenAI · text · gpt/5.6-luna
Rp4.950 / 1M token input
GPT-5.5
OpenAI · text · gpt/5.5
Rp24.750 / 1M token input
GPT-5.4
OpenAI · text · gpt/5.4
Rp12.375 / 1M token input
PixVerse V6 Image to Video
PixVerse · video · pixverse-v6/image-to-video
Mulai Rp300 / detik (360p; tanpa audio)
Wan 3.0 Video
Wan · video · wan/3-0-video
Mulai Rp610 / detik (480p; minimum 4 detik = Rp2.440)
HappyHorse 1.1 Text to Video
Alibaba · video · happyhorse-1-1/text-to-video
Mulai Rp1.720 / detik (720p; minimum 3 detik = Rp5.160)
MiniMax H3 Image to Video
MiniMax · video · minimax-h3/image-to-video
Mulai Rp730 / detik (768p; minimum 4 detik = Rp2.920)
GPT-5.4 Mini
OpenAI · text · gpt/5.4-mini
Rp3.713 / 1M token input
Seedance 2.0
ByteDance · video · bytedance/seedance-2
Mulai Rp1.540 / detik (480p; minimum 4 detik = Rp6.160)
GPT-5.3 Codex Spark
OpenAI · text · gpt/5.3-codex-spark
Rp8.663 / 1M token input
Claude Opus 5.5
Anthropic · text · claude/opus-5.5
Rp19.800 / 1M token input
Claude Sonnet 5.5
Anthropic · text · claude/sonnet-5.5
Rp9.900 / 1M token input
MiniMax H3 Reference to Video
MiniMax · video · minimax-h3/reference-to-video
Mulai Rp730 / detik (768p; minimum 4 detik = Rp2.920)
Kling 3.0 Motion Control
Kling · video · kling-3.0/motion-control
Rp1.540 / detik video gerakan (720p)
HappyHorse 1.1 Image to Video
Alibaba · video · happyhorse-1-1/image-to-video
Mulai Rp1.720 / detik (720p; minimum 3 detik = Rp5.160)
Claude Opus 4.8
Anthropic · text · claude/opus-4.8
Rp24.750 / 1M token input
PixVerse V6 Transition
PixVerse · video · pixverse-v6/transition
Mulai Rp300 / detik (360p; tanpa audio)
Wan 3.0 Video Prime
Wan · video · wan/3-0-video-prime
Mulai Rp830 / detik (480p; minimum 4 detik = Rp3.320)
Claude Sonnet 5
Anthropic · text · claude/sonnet-5
Rp10.519 / 1M token input
Claude Fable 5
Anthropic · text · claude/fable-5
Rp49.500 / 1M token input
Grok 4.7
xAI · text · grok/4.7
Rp9.900 / 1M token input
Grok 4.5
xAI · text · grok/4.5
Rp9.900 / 1M token input
Grok 4.6
xAI · text · grok/4.6
Rp9.900 / 1M token input
Kling 3.0 Omni Text to Video
Kling AI · video · kling-3.0-omni/text-to-video
Mulai Rp860 / detik (720p tanpa audio; minimum 3 detik = Rp2.580)
Kling 3.0 Turbo Image to Video
Kling · video · kling/v3-turbo-image-to-video
Mulai Rp1.370 / detik (720p; minimum 3 detik = Rp4.110)
PixVerse V6 Extend
PixVerse · video · pixverse-v6/extend
Mulai Rp300 / detik (360p; tanpa audio)
Seedance 2.0 Mini
ByteDance · video · bytedance/seedance-2-mini
Mulai Rp770 / detik (480p; minimum 4 detik = Rp3.080)
Gemini 3.8 Flash
Google · text · gemini/3.8-flash
Rp2.784 / 1M token input
DeepSeek V4.1 Flash
DeepSeek · text · deepseek/v4.1-flash
Rp1.485 / 1M token input
Kimi K3
Moonshot AI · text · kimi/k3
Rp29.700 / 1M token input
Kling 3.0 Omni Image to Video
Kling AI · video · kling-3.0-omni/image-to-video
Mulai Rp860 / detik (720p tanpa audio; minimum 3 detik = Rp2.580)
Kling 3.0 Turbo Text to Video
Kling · video · kling/v3-turbo-text-to-video
Mulai Rp1.370 / detik (720p; minimum 3 detik = Rp4.110)
Kling 3.0 Omni Transformation
Kling AI · video · kling-3.0-omni/transformation
Rp1.540 / detik video sumber (720p)
Kling 3.0 Omni Reference to Video
Kling AI · video · kling-3.0-omni/reference-to-video
Mulai Rp860 / detik (720p tanpa audio; minimum 3 detik = Rp2.580)
Veo 3.1 Lite
Google · video · google/veo-3.1-lite
Rp2.830 / video 8 detik
Veo 3.1 Fast
Google · video · google/veo-3.1-fast
Rp5.260 / video 8 detik
Veo 3.1 Quality
Google · video · google/veo-3.1-quality
Rp20.620 / video 8 detik
Gemini Omni Flash (Flow)
Google · video · google-flow/omni-flash
Mulai Rp975 / detik (4 detik = Rp3.900)
Gemini 3.8 Flash TTS
Google · audio · google/gemini-3-8-flash-tts
Rp0,28 / karakter dialog
Gemini 3.8 Flash-Lite TTS
Google · audio · google/gemini-3-8-flash-lite-tts
Rp0,19 / karakter dialog

5. Endpoints

MethodEndpointDeskripsi
GET/v1/modelsDaftar model + parameter schema
GET/v1/models/{creator}/{slug}Detail satu model
POST/v1/quotesEstimasi harga (berlaku 10 menit, opsional)
POST/v1/uploadsUpload file input (gambar/video/audio) — multipart, field file
POST/v1/tasksBuat generation task (wajib Idempotency-Key)
POST/v1/chat/completionsLLM chat OpenAI-compatible (streaming, harga per 1K token)
GET/v1/tasks/{task_id}Status + hasil task
POST/v1/tasks/{task_id}/cancelBatalkan task yang masih queued
GET/v1/balanceSaldo saat ini
GET/v1/usageRiwayat penggunaan (cursor pagination)

File input (image-to-image, start frame, video referensi)

Parameter model bertipe file (mis. image_urls, first_frame_url, reference_video_urls) diisi URL. Upload dulu filenya:

curl -X POST https://getrun.id/v1/uploads \
  -H "Authorization: Bearer run_live_xxx" \
  -F "file=@foto.jpg"

# 201 -> { "url": "https://storage.getcore.id/inputs/...", "type": "image",
#          "size": 123456, "duration_seconds": null }

Lalu pakai url tersebut di input task. Gambar/audio maks 25 MB, video maks 50 MB; file disimpan 7 hari. Untuk gambar boleh juga URL publik milikmu sendiri, tapi video referensi wajib dari /v1/uploads — durasinya diukur saat upload dan menjadi dasar perhitungan harga.

6. Rate limits

Setiap akun punya batas request yang wajar untuk menjaga stabilitas platform. Jika terlampaui, API membalas 429 dengan kode rate_limited — tunggu sejenak lalu retry (request dengan Idempotency-Key aman diulang). Butuh limit lebih tinggi? Hubungi support@getcore.id.

7. Error handling

Semua error memakai satu envelope. Simpan request_id saat menghubungi support.

{
  "error": {
    "code": "insufficient_balance",
    "message": "Balance is lower than the maximum task cost.",
    "request_id": "req_...",
    "details": {}
  }
}
CodeHTTPArti
invalid_request400Body/parameter tidak valid
unauthorized401API key salah atau tidak ada
insufficient_balance402Saldo kurang dari biaya maksimum task
model_not_found / not_found404Model/resource tidak ditemukan
unsupported_parameter400Input tidak sesuai parameter schema model
model_offline409Model sedang tidak tersedia
model_coming_soon409Model sudah di katalog, API-nya belum dirilis
task_not_cancellable409Task sudah berjalan/selesai
moderation_blocked—Diblokir moderasi konten (pada error task)
upstream_error / upstream_timeout—Gangguan penyedia model (tidak ditagih)
rate_limited429Terlalu banyak request
internal_error500Kesalahan platform

8. Connector MCP

Selain REST API di atas, GetRun juga berjalan sebagai remote MCP server. Pasang sekali di Claude (atau klien MCP lain), lalu jalankan model image, video, audio, dan chat memakai saldo GetRun langsung dari dalam percakapan — tanpa API key, karena aksesnya diberikan lewat OAuth dan bisa dicabut kapan saja.

MCP server URLhttps://getrun.id/mcp

Pasang di Claude

  1. Buka Settings → Connectors → Add custom connector.
  2. Tempel URL https://getrun.id/mcp, lalu Connect.
  3. Login ke akun GetRun, pilih izin yang diberikan, lalu setujui.

Panduan versi panjangnya ada di https://getrun.id/connect. Daftar koneksi aktif dan tombol cabutnya ada di Settings — mencabut koneksi langsung mematikan aksesnya.

Setiap tool generate memotong saldo sungguhan dengan tarif yang sama seperti di situs — model dianjurkan memanggil getrun_estimate_price dulu sebelum generation yang mahal. Task gagal tetap tidak ditagih.

Izin

Izin dipilih user saat menghubungkan, dan ditegakkan per tool. Tool di luar izin yang diberikan menolak jalan dengan pesan yang menjelaskan izin apa yang kurang.

ScopeArtinya bagi userCakupan
read Melihat akun kamu
Membaca katalog model beserta harganya, saldo kamu, dan riwayat generation di project ini.
8 tool
generate Membuat gambar, video, audio, dan teks
Menjalankan model dari katalog GetRun. Setiap generation memotong saldo kamu dengan tarif yang sama persis seperti di situs.
11 tool
manage Merapikan hasil generation
Menyembunyikan hasil dari galeri creations. Riwayat tagihan tidak ikut terhapus.
2 tool

Tools

ToolIzinDeskripsi
getrun_list_models read Daftar model AI di katalog GetRun beserta harga dalam rupiah dan schema parameternya. Panggil ini dulu kalau perlu memilih model tertentu atau ingin tahu parameter apa yang didukung sebuah model.
getrun_get_balance read Saldo GetRun yang tersedia dan yang sedang tertahan untuk task berjalan, dalam rupiah.
getrun_estimate_price read Hitung biaya sebuah generation SEBELUM dijalankan, memakai mesin harga yang sama dengan eksekusi. Pakai ini kalau user bertanya "berapa ongkosnya".
getrun_upload_image generate Simpan sebuah gambar di storage GetRun dan kembalikan URL-nya, siap dipakai sebagai image_url/image_urls di tool generate atau sebagai gambar acuan karakter. Tiga jalur: (1) TANPA argumen — tool menerbitkan tautan upload untuk dibuka user, dipakai kalau gambarnya ada di perangkat user; panggil tool ini SEKALI LAGI dengan "ticket" yang sama setelah user bilang sudah mengirim, untuk mengambil URL-nya. (2) "source_url" — impor gambar dari URL publik yang sudah ada. (3) "data" — isi gambar dalam base64, hanya untuk gambar kecil. Tidak memotong saldo.
getrun_generate_image generate Buat gambar dari prompt teks memakai katalog GetRun. Bisa juga image-to-image dengan memberi image_urls. Memotong saldo GetRun user dengan tarif yang sama seperti di situs. Kalau model tidak disebut, dipakai model teratas di katalog yang bisa jalan dari prompt teks saja.
getrun_generate_video generate Buat klip video dari prompt teks, atau animasikan sebuah gambar dengan image_url. Video butuh waktu lebih lama daripada gambar — kalau belum selesai saat tool kembali, lanjutkan dengan getrun_get_task. Memotong saldo GetRun user.
getrun_generate_audio generate Buat lagu, suara, atau efek audio — termasuk text-to-speech. Untuk TTS, isi prompt dengan teks yang dibacakan dan sebut voice bila perlu. Memotong saldo GetRun user.
getrun_run_model generate Jalankan model mana pun di katalog dengan parameter mentah sesuai parameters_schema-nya. Pakai ini kalau tool generate yang lebih sederhana tidak menyediakan parameter yang dibutuhkan. Ambil schema-nya dulu lewat getrun_list_models dengan include_schema=true. Memotong saldo GetRun user.
getrun_chat generate Kirim prompt ke model chat di katalog GetRun (mis. Claude atau Grok lewat GetRun) dan kembalikan jawabannya. Ditagih per token dari saldo GetRun user.
getrun_list_characters read Daftar karakter tersimpan di project GetRun user — identitas visual yang bisa dipakai ulang supaya wajahnya konsisten antar generation. Panggil ini kalau user menyebut nama seseorang yang mungkin sudah disimpan, atau minta "karakter yang sama".
getrun_save_character generate Simpan sebuah karakter supaya rupanya bisa dipakai ulang di generation berikutnya. Isi "appearance" dengan deskripsi rupa yang detail dan tidak berubah-ubah (bentuk wajah, mata, rambut, kulit, ciri khas) — BUKAN adegan atau pakaian, karena bagian itu datang dari prompt tiap generation. Kalau namanya sudah ada, karakter itu diperbarui.
getrun_delete_character manage Hapus karakter tersimpan. Hasil generation yang pernah memakainya tetap ada dan tidak ikut terhapus.
getrun_get_task read Ambil status dan hasil sebuah task lewat task_id. Pakai ini untuk melanjutkan generation yang belum selesai saat tool generate kembali.
getrun_list_creations read Daftar hasil generation terakhir di project GetRun user, lengkap dengan prompt, model, biaya, dan URL keluaran.
getrun_hide_creation manage Sembunyikan sebuah hasil generation dari galeri creations di GetRun. Riwayat tagihannya tetap tersimpan dan tidak bisa dihapus.
getrun_blender_list_projects read Daftar proyek 3D Studio milik pengguna.
getrun_blender_create_project generate Buat proyek 3D baru. Gunakan UUID id yang sama untuk retry.
getrun_blender_get_project read Ambil versi scene, parameter, status render, dan daftar file. Project ID diperoleh dari daftar proyek.
getrun_blender_save_scene generate Simpan draft penuh sebagai versi baru. Gunakan draft dari get_project. Scene mendukung cube/sphere/cylinder/torus (maksimal 30); location, rotation, scale, color adalah triple angka. Clay hanya mengubah shirtColor RGB 0..1 dan cameraDistance 0.6..2. Tidak menerima Python. revision harus versi proyek terbaru.
getrun_blender_quote generate Ambil priceIdr dan settingsVersion sebelum render. Preview adalah PNG; final scene PNG, final clay MP4 tanpa audio.
getrun_blender_render generate Render versi yang telah disimpan. Menahan saldo sebesar quote yang telah disetujui pengguna. Wajib memakai priceIdr/settingsVersion dari quote; UUID id tetap sama untuk retry. Pantau melalui get_project.

Semua tool memanggil endpoint /v1 yang sama dengan REST API — harga, reservasi saldo, validasi parameter, dan rate limit-nya identik, dan hasilnya ikut tercatat di Usage.

OAuth 2.1

Transport-nya Streamable HTTP (satu POST = satu JSON-RPC request/response); versi protokol MCP yang didukung: 2025-06-18 2025-03-26 2024-11-05. Klien mendaftar sendiri lewat Dynamic Client Registration, jadi tidak ada client secret yang perlu dibagikan — PKCE S256 wajib, dan refresh token dirotasi setiap kali dipakai.

MethodEndpointDeskripsi
GET/.well-known/oauth-protected-resourceMetadata resource (RFC 9728)
GET/.well-known/oauth-authorization-serverMetadata authorization server (RFC 8414)
POST/oauth/registerDynamic Client Registration (RFC 7591)
GET/oauth/authorizeLayar izin — user login lalu menyetujui
POST/oauth/tokenTukar authorization code, atau refresh
POST/oauth/revokeCabut token (RFC 7009)

Request tanpa token yang sah dibalas 401 dengan header WWW-Authenticate yang menunjuk ke metadata di atas — dari situ klien MCP mengurus sisanya sendiri.

Untuk LLM & coding agent

Support

Email support@getcore.id — sertakan request_id atau task_id.

On this page
Quickstart Authentication Task lifecycle Harga & billing Endpoints Rate limits Error handling Connector MCP Tools OAuth 2.1