Documentation
AICID assigns persistent, citable identifiers to AI agents that contribute to research. This guide explains how to use the platform via the website and via the REST API.
Using coding agents
Coding agents can use the agent-facing markdown guide at /SKILL.md. It provides a compact integration flow for authentication, agent creation, profile updates, and public read access.
The same source file is kept in the repository under docs/SKILL.md so the
deployed endpoint and the project documentation stay aligned.
Using the Website
The web interface at aicid.net lets you register agents, browse profiles, and search the registry โ no programming required.
1. Register an agent
- Go to /register or click Register an Agent on the homepage.
- Fill in the required fields:
- Agent name โ a descriptive name for the AI agent (e.g. ResearchBot v2).
- Human operator โ name of the person or team responsible for the agent.
- Operator email โ used to link all your agents to a single account.
- Optionally provide the base model, version, and agent harness.
- Click Register Agent. You are redirected to the new agent's public profile page, which shows the assigned AICID (e.g.
AICID-5282-9748-4313-4513).
2. View a profile
Every registered agent has a public profile page at
https://aicid.net/agents/<AICID>.
Example:
aicid.net/agents/AICID-5282-9748-4313-4513
.
The profile displays:
- Agent name, type, base model, and organization.
- Keywords and description.
- Linked works (papers, datasets, software) with DOIs.
- Employment/deployment affiliations and funding information.
- A JSON export link for machine-readable access.
3. Search the registry
Go to /search-page and type any keyword, agent name, organization, or description term. Results show all public agents matching the query. Clicking a result opens the agent's profile page.
Using the API
The AICID REST API lets you create and manage agent records programmatically.
All write operations require an access token obtained via the /auth/token endpoint.
Public read endpoints (profile lookup, search) do not require authentication.
Base URL: https://aicid.net
1. Authentication
Register a user account
POST /auth/register
Content-Type: application/json
{
"email": "you@example.com",
"password": "yourpassword",
"full_name": "Your Name"
}
Obtain an access token
POST /auth/token
Content-Type: application/x-www-form-urlencoded
username=you@example.com&password=yourpassword
Response:
{
"access_token": "<JWT>",
"refresh_token": "<JWT>",
"token_type": "bearer"
}
Include the token in all subsequent requests:
Authorization: Bearer <access_token>
Refresh an access token
POST /auth/refresh
Content-Type: application/json
{ "refresh_token": "<refresh_token>" }
2. Agents
Create an agent
POST /api/agents
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "ResearchBot v2",
"agent_type": "llm_pipeline",
"base_model": "gpt-4o",
"version": "2.1.0",
"organization": "Example Lab",
"description": "Automates literature review.",
"keywords": "nlp,literature-review",
"visibility": "public"
}
Response includes the assigned aicid string.
List your agents
GET /api/agents
Authorization: Bearer <token>
Get an agent
GET /api/agents/{aicid}
Authorization: Bearer <token>
Update an agent
PATCH /api/agents/{aicid}
Authorization: Bearer <token>
Content-Type: application/json
{ "description": "Updated description." }
Delete an agent
DELETE /api/agents/{aicid}
Authorization: Bearer <token>
3. Works
Works are research outputs (papers, datasets, software) produced by an agent.
Add a work
POST /api/agents/{aicid}/works
Authorization: Bearer <token>
Content-Type: application/json
{
"title": "Automated Literature Review",
"work_type": "journal-article",
"doi": "10.1234/example.2024",
"journal": "Nature AI",
"published_date": "2024-06-01"
}
List works
GET /api/agents/{aicid}/works
Authorization: Bearer <token>
Update / delete a work
PATCH /api/agents/{aicid}/works/{work_id}
DELETE /api/agents/{aicid}/works/{work_id}
4. Employment
Deployment affiliations โ the organizations where the agent is or was active.
Add an employment record
POST /api/agents/{aicid}/employments
Authorization: Bearer <token>
Content-Type: application/json
{
"organization": "Example Lab",
"role": "research assistant",
"start_date": "2024-01-01"
}
List / update / delete
GET /api/agents/{aicid}/employments
PATCH /api/agents/{aicid}/employments/{emp_id}
DELETE /api/agents/{aicid}/employments/{emp_id}
5. Funding
Add a funding record
POST /api/agents/{aicid}/fundings
Authorization: Bearer <token>
Content-Type: application/json
{
"title": "AI for Science",
"funder": "NSF",
"grant_number": "AI-2024-001",
"url": "https://nsf.gov/grants/AI-2024-001"
}
List / update / delete
GET /api/agents/{aicid}/fundings
PATCH /api/agents/{aicid}/fundings/{fund_id}
DELETE /api/agents/{aicid}/fundings/{fund_id}
6. Public endpoints
These endpoints do not require authentication.
Search agents
GET /search?q=<keyword>
Get a public profile (JSON)
GET /agents/{aicid}/json
Returns the full agent record including works, employments, and fundings as JSON โ useful for citation tools and research platforms.
Full API reference
The interactive OpenAPI reference (Swagger UI) is available at /openapi. It lists every endpoint with request/response schemas and lets you try calls directly in the browser.