Agent API v1

Feed outside context into your MyInc workspace in minutes.

Send notes, links, markdown, and files into your MyInc workspace with one API key. Use the same API to turn that context into pages and drafts — which always wait for your approval before anything ships.

First request
curl https://myinc.app/api/agent/clips \
  -X POST \
  -H 'Authorization: Bearer tk_your_api_key' \
  -H 'Idempotency-Key: clip-001' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Weekly insight",
    "text": "Save the final answer from today’s research run."
  }'
Clips
POST /api/agent/clips
Ingest
POST /api/agent/ingest
Upload
POST /api/agent/upload
Projects
POST /api/agent/projects

Bring outside context into your workspace

Save a single note, link, or answer

Send one item at a time into your MyInc workspace as a clip your AI team can reuse.

Ingest links, text, and markdown in batches

Group related items into one capture so your workspace keeps them together for later.

Create pages and generate drafts

Turn saved context into a page first, then ask MyInc to generate a draft — which stays pending your approval.

Create projects and add items

Open a project from your agent and drop clips, pages, and drafts into project stages as work moves.

Quickstart

1

Sign in to MyInc and create a scoped API key in Settings → API keys.

2

Send the key as Bearer auth in every request, and add an Idempotency-Key on write requests.

3

Start with one clip or one ingest batch, then expand into pages, draft generation, uploads, and projects.

Authentication

MyInc Agent API v1 uses personal API keys. Create scoped keys for specific integrations in Settings → API keys and keep them server-side as Bearer tokens.

curl https://myinc.app/api/agent/clips \
  -X POST \
  -H 'Authorization: Bearer tk_your_api_key' \
  -H 'Idempotency-Key: clip-001' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Weekly insight",
    "text": "Save the final answer from today’s research run."
  }'
  • Scoped API keys are supported for clips, ingest, uploads, pages, generation, and projects.
  • Recommended scopes: clips:write, ingest:write, upload:write, pages:read, pages:generate, projects:write.
  • Keys can be created and revoked in Settings → API keys.

Credits and limits

Agent API requests use the same plan limits as the product. Credits are enforced on AI-backed actions instead of a separate agent-only quota.

  • POST /api/agent/ingest uses AI credits per item: text 1, markdown 1, url 2.
  • POST /api/agent/pages/:id/generate uses AI credits: custom 6, template set 15.
  • Project creation still follows the active project limit of your plan.

Idempotent writes

Write endpoints support Idempotency-Key. Re-sending the same request with the same key returns the stored result. Reusing the same key with a different body returns 409.

curl https://myinc.app/api/agent/projects \
  -X POST \
  -H 'Authorization: Bearer tk_your_api_key' \
  -H 'Idempotency-Key: project-2026-04-launch' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "April launch plan",
    "template": "goal_milestones"
  }'

Core endpoints

POST/api/agent/clips

Create one clip

Use this for a single note, link, or saved answer.

{
  "title": "Saved answer",
  "text": "This is the final summary worth keeping.",
  "tags": ["research", "launch"]
}
POST/api/agent/ingest

Ingest a batch

Send text, URLs, and markdown together and keep them grouped in one capture.

{
  "items": [
    { "type": "url", "url": "https://example.com/article" },
    { "type": "markdown", "title": "Notes", "text": "# Key points\n- One\n- Two" }
  ]
}
POST/api/agent/upload

Upload a file

Send multipart uploads through the same Agent API surface when your agent needs to attach files.

curl https://myinc.app/api/agent/upload \
  -H 'Authorization: Bearer tk_your_api_key' \
  -H 'Idempotency-Key: upload-001' \
  -F 'file=@notes.md'
POST/api/agent/pages/:id/generate

Generate a draft from a page

Use page generation when your saved clips have already been organized into a page.

{
  "mode": "custom",
  "prompt": "Turn this page into a short publishable brief."
}
POST/api/agent/projects

Create a project

Open a new MyInc project from your agent workflow with a name, template, and status.

{
  "name": "April launch plan",
  "template": "goal_milestones",
  "icon": "🚀"
}
POST/api/agent/projects/:id/items

Add an item to a project stage

Place a clip, page, draft, or published item into a MyInc project stage from your agent workflow.

{
  "stage": "clip",
  "referenceId": "clip_123"
}

Common response shape

Agent API v1 returns a normalized envelope so your integration can handle success and failure consistently.

{
  "success": true,
  "data": {
    "id": "clip_123",
    "title": "Saved answer"
  },
  "error": null
}

Built for Hermes and your own agents

Wire Hermes or any agent you build to your MyInc workspace. Start with clips and ingest, then add pages, generation, and projects as your AI team takes on more of the work.

How outside context reaches your workspace

Capture first with clips and ingest

Point your agent at clips and ingest to push notes, links, and markdown into your MyInc workspace as you go.

See product overview

Then build pages and projects

Once context is in your workspace, generate pages and drafts and organize work into projects — all of it waiting for your approval.

See product overview

Endpoint reference examples

Open each endpoint to see a request body, response example, and integration notes.

POST/api/agent/clipsCreate one clip
Request body
{
  "title": "Saved answer",
  "text": "This is the final summary worth keeping.",
  "tags": ["research", "launch"]
}
Response
{
  "success": true,
  "data": {
    "id": "clip_123",
    "title": "Saved answer",
    "text": "This is the final summary worth keeping."
  },
  "error": null
}
Notes
  • Good first endpoint for Hermes or your own agent.
  • Works well for one final answer at a time.
  • GET /api/agent/clips lists clips with clips:read.
POST/api/agent/ingestIngest a batch
Request body
{
  "items": [
    { "type": "url", "url": "https://example.com/article" },
    { "type": "markdown", "title": "Notes", "text": "# Key points\n- One\n- Two" }
  ]
}
Response
{
  "success": true,
  "data": {
    "captureBatchId": "batch_123",
    "created": [
      { "id": "clip_1", "title": "https://example.com/article", "url": "https://example.com/article" },
      { "id": "clip_2", "title": "Notes", "url": null }
    ],
    "failed": []
  },
  "error": null
}
Notes
  • Best starting point when an agent sends multiple items at once.
  • Text, url, and markdown are all supported in one request (up to 50 items).
  • This route charges AI credits per item and returns item-level failures when credits run out.
POST/api/agent/uploadUpload a file
Request body
curl https://myinc.app/api/agent/upload \
  -H 'Authorization: Bearer tk_your_api_key' \
  -H 'Idempotency-Key: upload-001' \
  -F 'file=@notes.md'
Response
{
  "success": true,
  "data": {
    "id": "clip_upload_123",
    "title": "notes.md"
  },
  "error": null
}
Notes
  • Use this when your agent sends real files instead of plain JSON.
  • Scoped keys and idempotency also work on uploads.
  • This is the public agent facade over MyInc file upload, not the internal web route.
POST/api/agent/pages/:id/generateGenerate a draft from a page
Request body
{
  "mode": "custom",
  "prompt": "Turn this page into a short publishable brief."
}
Response
{
  "success": true,
  "data": {
    "jobId": "draft_123",
    "type": "page_generation",
    "status": "completed",
    "result": {
      "draftId": "draft_123"
    }
  },
  "error": null
}
Notes
  • The generated draft stays pending your approval inside MyInc — nothing publishes automatically.
  • Use this after clips are already organized into a page (POST /api/agent/pages, GET /api/agent/pages/:id).
  • Poll GET /api/agent/jobs/:id for the draft status; generation consumes the same AI credits as the in-app flow.
POST/api/agent/projectsCreate a project
Request body
{
  "name": "April launch plan",
  "template": "goal_milestones",
  "icon": "🚀"
}
Response
{
  "success": true,
  "data": {
    "id": "project_123",
    "name": "April launch plan",
    "template": "goal_milestones"
  },
  "error": null
}
Notes
  • Use this when the agent needs a long-lived workspace, not just one clip.
  • Templates: goal_milestones or pipeline_board.
  • Project creation follows the same plan-based active project limits as the main app.
POST/api/agent/projects/:id/itemsAdd an item to a project stage
Request body
{
  "stage": "clip",
  "referenceId": "clip_123"
}
Response
{
  "success": true,
  "data": {
    "id": "project_item_123",
    "stage": "clip",
    "referenceId": "clip_123"
  },
  "error": null
}
Notes
  • If columnId is omitted, MyInc resolves the first workflow column for that stage.
  • Use this right after creating a clip or page when the agent is building a project workflow.

Current v1 scope

  • Private Agent API for early integrations, not a fully versioned public platform yet.
  • Scoped API keys, idempotency keys, and upload facade are now included in v1.
  • Generation jobs currently use a lightweight job wrapper around existing MyInc draft generation.

Start with one useful request, then let your AI team build on it.

The best first integration is simple: save one useful answer, one link, or one markdown note into your workspace. Once that works, turn it into pages and drafts your AI team prepares for your approval.

See first requestSee product overview