Marketplace API
Browse and deploy pre-built agent templates. Templates are pre-configured identity provisioning and extraction patterns for common services — deploy one to get a working identity pipeline in seconds.
An agent template packages a complete identity workflow for a specific service or use case. For example, the "GitHub Signup" template knows which email patterns GitHub uses for verification, the expected OTP format, and the optimal polling interval. When you deploy a template, AIdenID creates a configured identity with extraction rules tuned for that service.
List templates
List available agent templates. Filter by category or use case to find templates for your target service.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | Filter by category: social, developer, ecommerce, finance, productivity |
use_case | string | No | Filter by use case: signup, password_reset, two_factor, invite |
limit | integer | No | Max results per page (default: 20, max: 100) |
offset | integer | No | Pagination offset |
curl
curl "https://api.aidenid.com/v1/marketplace/templates?category=developer&use_case=signup" \
-H "Authorization: Bearer aid_your_api_key" \
-H "X-Org-Id: org_abc123" \
-H "X-Project-Id: proj_def456"Python
import requests
resp = requests.get(
"https://api.aidenid.com/v1/marketplace/templates",
headers={
"Authorization": "Bearer aid_your_api_key",
"X-Org-Id": "org_abc123",
"X-Project-Id": "proj_def456",
},
params={"category": "developer", "use_case": "signup"},
)
templates = resp.json()
for t in templates["items"]:
print(f"{t['name']} — {t['description']}")Response 200 OK
{
"items": [
{
"id": "tmpl_github_signup",
"name": "GitHub Signup",
"description": "Automated GitHub account signup with email verification",
"category": "developer",
"use_case": "signup",
"version": "2.1.0",
"parameters": [
{ "name": "username", "type": "string", "required": true, "description": "Desired GitHub username" }
],
"estimated_duration_seconds": 30,
"success_rate": 0.97
},
{
"id": "tmpl_gitlab_signup",
"name": "GitLab Signup",
"description": "Automated GitLab account signup with OTP verification",
"category": "developer",
"use_case": "signup",
"version": "1.3.0",
"parameters": [
{ "name": "username", "type": "string", "required": true, "description": "Desired GitLab username" }
],
"estimated_duration_seconds": 25,
"success_rate": 0.95
}
],
"total": 2,
"limit": 20,
"offset": 0
}Get template details
Retrieve full details for a template, including all configuration parameters and extraction rules.
curl
curl "https://api.aidenid.com/v1/marketplace/templates/tmpl_github_signup" \
-H "Authorization: Bearer aid_your_api_key" \
-H "X-Org-Id: org_abc123" \
-H "X-Project-Id: proj_def456"Response 200 OK
{
"id": "tmpl_github_signup",
"name": "GitHub Signup",
"description": "Automated GitHub account signup with email verification",
"category": "developer",
"use_case": "signup",
"version": "2.1.0",
"parameters": [
{
"name": "username",
"type": "string",
"required": true,
"description": "Desired GitHub username"
},
{
"name": "ttl_hours",
"type": "integer",
"required": false,
"default": 1,
"description": "Identity TTL in hours"
}
],
"extraction_config": {
"sender_pattern": "noreply@github.com",
"subject_pattern": ".*verification.*",
"extraction_type": "otp",
"code_pattern": "\\d{6}",
"poll_interval_seconds": 3,
"max_wait_seconds": 120
},
"estimated_duration_seconds": 30,
"success_rate": 0.97,
"deploy_count": 12840
}Deploy a template
Deploy a template as a configured identity pipeline. This creates a new identity with extraction rules pre-configured for the target service.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
parameters | object | Yes | Configuration parameters as defined by the template |
curl
curl -X POST https://api.aidenid.com/v1/marketplace/templates/tmpl_github_signup/deploy \
-H "Authorization: Bearer aid_your_api_key" \
-H "X-Org-Id: org_abc123" \
-H "X-Project-Id: proj_def456" \
-H "Idempotency-Key: <GENERATED_UNIQUE_KEY>" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"username": "my-agent-bot"
}
}'TypeScript
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 10_000);
const res = await fetch(
"https://api.aidenid.com/v1/marketplace/templates/tmpl_github_signup/deploy",
{
method: "POST",
headers: {
"Authorization": "Bearer aid_your_api_key",
"X-Org-Id": "org_abc123",
"X-Project-Id": "proj_def456",
"Idempotency-Key": "deploy-001",
"Content-Type": "application/json",
},
body: JSON.stringify({
parameters: { username: "my-agent-bot" },
}),
signal: controller.signal,
}
);
clearTimeout(timeout);
const deployment = await res.json();
console.log(`Identity created: ${deployment.identity.id}`);
console.log(`Extraction will complete in ~${deployment.estimated_duration_seconds}s`);Response 201 Created
{
"deployment_id": "dep_v1w2x3y4",
"template_id": "tmpl_github_signup",
"identity": {
"id": "ident_z5a6b7c8",
"email": "z5a6b7c8@inbox.aidenid.com",
"status": "provisioned",
"expires_at": "2026-04-06T11:00:00Z"
},
"extraction_config": {
"sender_pattern": "noreply@github.com",
"extraction_type": "otp",
"poll_interval_seconds": 3,
"max_wait_seconds": 120
},
"status": "active",
"estimated_duration_seconds": 30,
"created_at": "2026-04-06T10:00:00Z"
}Once deployed, use the returned identity.email for your signup flow. The extraction rules from the template are automatically applied — poll the identity extraction endpoint or subscribe to the realtime stream to receive the extracted value.
Error codes
| Code | Status | Description |
|---|---|---|
template_not_found | 404 | Template does not exist |
invalid_parameters | 400 | Missing or invalid template configuration parameters |
quota_exceeded | 403 | Active identity limit reached for your plan |
template_deprecated | 410 | This template version has been deprecated — use a newer version |
missing_idempotency_key | 400 | Mutation request missing Idempotency-Key header |
Related
- Identities API — manage identities created from templates
- Realtime API — stream extraction events from deployed templates
- Webhooks API — receive extraction results via webhook