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.

What are agent templates?

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

GET/v1/marketplace/templates

List available agent templates. Filter by category or use case to find templates for your target service.

Query parameters

ParameterTypeRequiredDescription
categorystringNoFilter by category: social, developer, ecommerce, finance, productivity
use_casestringNoFilter by use case: signup, password_reset, two_factor, invite
limitintegerNoMax results per page (default: 20, max: 100)
offsetintegerNoPagination 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

GET/v1/marketplace/templates/{id}

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

POST/v1/marketplace/templates/{id}/deploy

Deploy a template as a configured identity pipeline. This creates a new identity with extraction rules pre-configured for the target service.

Request body

FieldTypeRequiredDescription
parametersobjectYesConfiguration 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"
}
After deployment

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

CodeStatusDescription
template_not_found404Template does not exist
invalid_parameters400Missing or invalid template configuration parameters
quota_exceeded403Active identity limit reached for your plan
template_deprecated410This template version has been deprecated — use a newer version
missing_idempotency_key400Mutation request missing Idempotency-Key header

Related