Build with Idam
Plan, review, build and publish with Idam. Learn about saved conversations, credits, source sharing and the task API.
Last updated 2026-09-28
What you'll achieve
- Take an idea through review, preview and release
- Resume saved work and manage credits
- Use the authenticated task API safely
Build with Idam
Idam helps you plan a product, propose project changes and move through build, preview and release. Open Idam from your dashboard, or open it beside the editor for an existing project. Your account needs Idam access and permission to work on the selected project.
From an idea to a running application
- Describe the result you want, such as “Build a booking site with services, availability and appointment requests.” Choose a new or existing project. Project setup does not start an AI task.
- Review your request and credit limit, then choose Create a plan. Model and task options are available when you need them.
- Read the plan and request changes. Approve the proposed scope before starting implementation. Review file changes before saving them to the project.
- Build the saved version and open its preview. Check the important journeys: signing in, saving data and completing the main action. A generated proposal or successful build alone does not verify those journeys.
- Review the release details and publish when ready. Confirm the live URL and keep the previous release available for rollback. Workspace roles and any project approval requirements still apply.
Use the browser IDE and source-control guide for editing and the build and release guide for delivery. Idam does not publish a proposal merely because you approved its plan.
Share useful context
Describe the outcome, constraints and expected behavior. For a problem, include what you tried, what happened and what you expected. You can select up to eight saved project files, with a limit of 16 KiB per file and 24 KiB combined. Review their contents before authorizing sharing with Azure OpenAI. Never submit credentials.
The task uses project information prepared when you submit it, selected source files and relevant conversation context. Later file edits do not update an existing task automatically. Saved project guidance carries your preferences into future tasks; it is not proof of the project's current state.
See the Privacy Policy for AI processing, provider handling, international transfers and retention. Clearing guidance or removing task content does not recall content already processed or remove every related copy.
Return to previous work
Open Your task history in the project to reopen a conversation. Submitted requests and replies are saved for the requesting user. A follow-up becomes available when the previous task and its usage checks finish. Eligible interrupted tasks offer a resume action; check their status before starting replacement work. Removed content cannot be reopened.
An unsubmitted idea stays in the current tab and clears on refresh or workspace change. Submit the request before relying on task history to preserve it.
Understand credits
AI credits are pooled in your workspace. Idam reserves credits before work begins and settles the charge from measured usage at the applicable model rates. Charges can be fractional; a request is not a flat one-credit charge. Unused reservations are released after usage is confirmed. Cancelling a task does not make work already performed free.
Review the task limit before submitting. The dashboard currently sets a maximum of 100 credits per task. Check workspace billing for your allowance, balance and any funding or usage restrictions. Other resources, including builds and hosting, follow their own plan limits.
Use the task API
The base URL is https://api.blinkhost.me/api/idam/. Calls require an authenticated BlinkHost account with access to Idam and the selected project. Browser integrations must use the normal session and CSRF flow. Approved CLI or workload integrations use their supported authentication flow; do not copy credentials into project source or documentation.
The examples below run in an authenticated BlinkHost browser session. Use your integration's authenticated request client outside that context.
// Read-only: load the first page of your project task history.
const projectId = 'YOUR_PROJECT_UUID';
const response = await fetch(
`https://api.blinkhost.me/api/idam/tasks/?project_id=${encodeURIComponent(projectId)}`,
{ credentials: 'include', headers: { Accept: 'application/json' } },
);
if (!response.ok) throw new Error(`Task history failed (${response.status})`);
const { enabled, tasks, next_cursor } = await response.json();
Follow next_cursor with the same project and account to load older tasks. Treat it as an opaque value. If it expires, reload the first page.
| Operation | Method and path | Result |
|---|---|---|
| List your project tasks | GET tasks/?project_id=PROJECT_UUID |
enabled, tasks and next_cursor |
| Read a task | GET tasks/TASK_UUID/ |
Current task, output and activity |
| Read its conversation | GET tasks/TASK_UUID/conversation/ |
Conversation history and continuation state |
| Start a task | POST tasks/ |
Accepted task, HTTP 202 |
| Request cancellation | POST tasks/TASK_UUID/cancel/ |
Current task state after cancellation request |
| Resume eligible work | POST tasks/TASK_UUID/resume/ |
Resume result subject to current eligibility |
To start a plan, submit this JSON using your authenticated client and its CSRF protection where applicable:
{
"project_id": "YOUR_PROJECT_UUID",
"client_request_id": "A_NEW_REQUEST_UUID",
"prompt": "Plan a booking site with services and appointment requests.",
"mode": "plan",
"model": "gpt-6-luna",
"maximum_units": 100
}
Submitting this request can consume credits. Generate client_request_id once for each intended task, retain it and reuse it with the identical payload if a response is lost. Changing the ID creates a new operation. Inspect task history after an uncertain result before submitting more work. HTTP 202 means accepted; follow the task until its terminal state before treating it as complete.
maximum_units is an integer credit ceiling from 1 to 2000, not a token count or a promised charge. A request whose reservation exceeds its ceiling is rejected. Model access, budgets and project permissions remain enforced server-side. Source sharing is optional through source_paths; provide only the saved paths the user has reviewed and authorized.
Saving changes and publishing require additional reviewed operations tied to the current project state. Use the dashboard review flow for these steps. The /internal/ endpoints are worker infrastructure and are not customer APIs.
Resolve common interruptions
| What you see | What to do |
|---|---|
| Idam unavailable for the account | Confirm workspace access with an administrator. Existing manual project tools remain available. |
| Insufficient credits or budget | Check the workspace balance and task ceiling before retrying. |
| Sign-in or permission error | Renew your session and confirm the project and workspace role. |
| HTTP 429 | Wait before retrying and respect Retry-After when provided. Reuse the request ID for the same operation. |
| HTTP 409 or changed project state | Read the returned error code and current task. Refresh the review before approving changed source. |
| Build or preview failure | Read the build output, correct the reported cause and rebuild the saved version. |
| Request times out | Inspect history and status first; the server may already have accepted the task. |
For support, provide the project ID, task ID, error code and UTC time. Keep credentials and private source out of support messages unless a secure sharing route is agreed.
Attach files from your device
Upload and voice controls appear when available for your workspace.
Choose Attach files from your device in the Idam composer, or drop files into its upload area. These files provide context for your request; they do not need to exist in the project. Uploading a ZIP does not import a repository, run its contents or start an AI task. Review the prepared file summaries and authorize sharing before submitting the request.
| Context | Limit and processing |
|---|---|
| Files per request | 8 files; 100 MiB total original bytes |
| Text, source, images, PDF, DOCX and ZIP | 10 MiB per file |
| MP4, MOV and WebM video | 50 MiB per video; 3 minutes; up to 6 sampled still frames, without audio |
| Extracted text | 24 KiB combined across the uploaded files; up to 200 text parts per upload |
| Images and video frames | 8 combined per request; resized to at most 1024 pixels on the longest side and 256 KiB per image |
| ZIP archives | 200 entries, 25 MiB expanded, maximum compression ratio 100:1 |
| Text from at most 50 pages; encrypted or scanned-only documents are not supported |
PNG, JPEG, WebP and GIF images are accepted. GIFs contribute their first frame. DOCX contributes body text. Document layout, embedded images, comments and other omitted content are not sent as if they had been read. Review each file's processing notes. Video frames provide visual samples, not a complete account of every moment.
ZIPs can contain supported text/source files, images, PDF and DOCX documents. Nested ZIPs, video members, encrypted entries, unsafe paths and links are rejected. DOCX expansion counts toward the ZIP expansion limit. Unsupported contents or exceeded limits return an error; Idam does not silently truncate a file to fit. Narrow the selection or split the material into focused requests.
The file-size limit is separate from the model context limit. Extracted text and visual context count toward the task's token and credit budget. Visual requests use GPT-5.6 Terra, shown before submission. Server-side model availability, pricing and funding checks still apply. A file that fits the upload limit may require a smaller selection to fit the task budget.
Original files are discarded after preparation. Prepared context is private to the requesting user and workspace. Unsubmitted uploads expire after 24 hours; Your unused uploads lets you explicitly recover or remove an available upload after refreshing. Refresh does not restore an unsent prompt or automatically attach files. Removing an unused upload clears its prepared content. Submitted context follows the task's content-retention and removal rules. Read the Privacy Policy before sharing personal or confidential material, and never upload credentials.
Upload API
The attachment endpoints use the same authenticated account and browser CSRF protection as the task API. Include X-Organization-Id for the selected workspace. Availability is checked independently of project-file selection.
| Operation | Method and path | Result |
|---|---|---|
| Read limits and unused uploads | GET attachments/ |
limits, vision_enabled and your staged metadata |
| Prepare one file | POST attachments/ |
Multipart file and a new UUID attachment_id; ready, failed or preparing receipt |
| Check a receipt | GET attachments/ATTACHMENT_UUID/ |
Current state, size, expiry and processing summary; no original file download |
| Remove an unused upload | DELETE attachments/ATTACHMENT_UUID/ |
Clears the prepared content; submitted attachments cannot be removed here |
Uploads are limited to 20 attempts per hour per user, one preparation at a time and eight active unused uploads. A preparing receipt uses HTTP 202. Check its state with GET; do not submit it until it is ready. If the upload response is lost, check the same attachment_id first. Reusing that ID with identical file bytes is idempotent; changing the file requires a new ID. Never automatically resubmit an uncertain upload as a new operation.
Include the ready UUIDs in the task's optional attachment_ids array, alongside the prompt and other task fields. Retain the same client_request_id and identical payload when recovering an uncertain task response. The server checks ownership, expiry, combined limits and credit reservations before atomically associating the attachments with the accepted task. Prepared files do not start a task by themselves.
Voice notes
When voice transcription is available, choose Record a voice note. Idam shows a live waveform and a timer, with a three-minute and 10 MiB recording limit. Stop and play the recording before choosing Transcribe note. The displayed credit limit applies to transcription separately from the later AI task. Audio is shared with Azure OpenAI only when you request transcription. Edit the returned text and choose Use in my request; this adds text to the composer without submitting it. Long transcripts remain editable until they fit the prompt. Closing the Idam panel, leaving the page or hiding the tab stops the microphone.
Original recordings are held in browser memory and temporary decoding storage, then discarded. Private transcripts remain available to the requesting user in the workspace for 24 hours and can be removed through Your recent voice notes. Removing text does not erase usage records or release a charge that is still being checked. If a transcription response is interrupted, Check transcript reads the original receipt without making another paid transcription request.
The authenticated voice API uses GET voice/ for availability, current policy_sha256, max_units and your recent notes. Submit multipart file, a fresh UUID transcription_id and the reviewed policy_sha256 to POST voice/. Reuse the same ID and file for a retry; check GET voice/TRANSCRIPTION_UUID/ first. A changed price requires reviewing a fresh quote. Read-only receipt recovery remains available when new transcription is disabled. DELETE voice/TRANSCRIPTION_UUID/ removes the transcript but preserves the replay fence and accounting. Transcription requests are limited to 20 per hour per user, with one active preparation at a time. No voice endpoint creates an Idam task.
Help improve this page
Sign in to send page-specific feedback. For account-specific help, email support@blinkhost.me.