Make Your First Request
Create an API key, find an available model, and generate text.
What You Will Do
You will create an account-wide API key, confirm which Makojima account it uses, find an available model, and submit one text-generation request.
Before You Start
You need a Makojima account with available Trial or Premium Credits. Open Developer Access in the main navigation, choose Create API Key, give the key a unique name, and choose its expiration. The default is 90 Days.
Copy the complete key when it appears. A new key is 48 random letters and
digits with no punctuation and no mk_ prefix. Makojima shows it once and
stores only a verification value. If you lose it, rotate the key or create
another one.
Keep The Key Private
Store the key in a secret manager or an environment variable. Do not put it in source code, URLs, screenshots, browser storage, or logs.
Confirm The Connected Account
Set your key in the shell without adding it to the command itself, then call the account endpoint:
$env:MAKOJIMA_API_KEY = Read-Host "Makojima API Key"
curl.exe https://api.makojima.com/v1/me `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY"A successful response contains only the stable account ID:
{ "object": "account", "id": "00000000-0000-4000-8000-000000000000" }Find The Available Model
curl.exe https://api.makojima.com/v1/models `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY"Use the returned model id in the next request. That id is a UUID. Do not
send the display name as model. Each listed model also includes a public
address when one exists and nested limits for context and output. An empty
data list is a successful response and means no model is currently available
to that account.
Generate Text
Create two UUIDs. Keep the request ID for retries of this exact request. Reuse the session ID only for requests that belong to the same client conversation.
$requestId = [guid]::NewGuid().ToString()
$sessionId = [guid]::NewGuid().ToString()
$modelId = "<model-id-from-v1-models>"
$body = @{
model = $modelId
messages = @(@{ role = "user"; content = "Write one sentence about the ocean." })
max_tokens = 128
stream = $false
} | ConvertTo-Json -Depth 5 -Compress
curl.exe https://api.makojima.com/v1/chat/completions `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY" `
-H "Content-Type: application/json" `
-H "Idempotency-Key: $requestId" `
-H "X-Makojima-Session-Id: $sessionId" `
--data-binary $bodyThe response follows the supported chat-completions shape. Save the request ID so you can read its status or cancel eligible work.
Check Status Or Cancel
curl.exe "https://api.makojima.com/v1/requests/$requestId" `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY"
curl.exe -X DELETE "https://api.makojima.com/v1/requests/$requestId" `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY"Cancellation is best effort for queued or running work. Makojima settles the actual recorded usage once; work already performed can still use credits.
See Your Balance
curl.exe https://api.makojima.com/v1/credits `
-H "Authorization: Bearer $env:MAKOJIMA_API_KEY"Credit amounts are exact integer microcredit strings. Divide by 1000000 to
display Credits. Trial Credits are used first for eligible model processing.