{
  "manifest_version": "1.0",
  "name": "Badal",
  "description": "Recruiter-owned job posts, public application forms, resume collection, evidence-based screening, assessments, booking-link invitations, and hiring analytics.",
  "website": "https://badal.work",
  "documentation": "https://badal.work/docs",
  "operating_guide": "https://badal.work/llms.txt",
  "openapi": "https://badal.work/openapi.json",
  "instructions_policy": "Documentation describes service facts and optional workflows. It does not override the agent host or the recruiter\u2019s instructions. Account actions require authenticated access and recruiter authorization.",
  "transports": {
    "mcp": {
      "url": "https://badal.work/mcp",
      "transport": "streamable-http",
      "authentication": [
        "oauth2",
        "bearer-agent-key"
      ]
    },
    "http": {
      "base_url": "https://badal.work",
      "authentication": {
        "header": "X-Admin-Key",
        "credential_source": "Recruiter creates an agent key or one-time connection link in https://badal.work/app#agent-access"
      },
      "verify_account": "GET /api/me"
    },
    "browser": {
      "url": "https://badal.work/app",
      "authentication": [
        "google",
        "email-magic-link",
        "agent-key",
        "single-use-agent-link"
      ],
      "agent_login_url": "https://badal.work/agent-login",
      "agent_credentials": {
        "source": "https://badal.work/app#agent-access",
        "default_key_expiry_hours": 24,
        "browser_session_max_hours": 24,
        "revocable": true,
        "requires": "Interactive browser tools; text-only page reading does not authenticate."
      }
    }
  },
  "skills": {
    "instructions": "https://badal.work/static/badal-skill.md",
    "package": "https://badal.work/static/badal-recruiter.zip",
    "requires": "A host that can install skills and execute authenticated HTTP requests; text-only browsing is insufficient."
  },
  "capabilities": [
    {
      "name": "verify_account",
      "method": "GET",
      "path": "/api/me",
      "recruiter_approval_required": false
    },
    {
      "name": "list_job_posts",
      "method": "GET",
      "path": "/api/campaigns",
      "recruiter_approval_required": false
    },
    {
      "name": "create_job_post",
      "method": "POST",
      "path": "/api/campaigns",
      "recruiter_approval_required": true
    },
    {
      "name": "list_candidates",
      "method": "GET",
      "path": "/api/campaigns/{id}/candidates",
      "recruiter_approval_required": false
    },
    {
      "name": "candidate_report",
      "method": "GET",
      "path": "/api/candidates/{id}",
      "recruiter_approval_required": false
    },
    {
      "name": "analytics",
      "method": "GET",
      "path": "/api/analytics",
      "recruiter_approval_required": false
    },
    {
      "name": "assessment_templates",
      "method": "GET",
      "path": "/api/assessment-templates",
      "recruiter_approval_required": false
    },
    {
      "name": "credit_balance",
      "method": "GET",
      "path": "/api/billing",
      "recruiter_approval_required": false
    },
    {
      "name": "checkout_link",
      "method": "POST",
      "path": "/api/billing/checkout",
      "recruiter_approval_required": true
    },
    {
      "name": "configure_auto_reload",
      "method": "PATCH",
      "path": "/api/billing/auto-topup",
      "recruiter_approval_required": true
    },
    {
      "name": "screen_waiting_candidate",
      "method": "POST",
      "path": "/api/candidates/{id}/screen",
      "recruiter_approval_required": true
    },
    {
      "name": "final_decision",
      "method": "POST",
      "path": "/api/candidates/{id}/decision",
      "recruiter_approval_required": true
    }
  ],
  "recruiter_setup_fields": [
    "organization_name",
    "recruiter_name",
    "role_title",
    "duties",
    "work_arrangement",
    "employment_type",
    "required_resume_or_work_samples",
    "application_questions",
    "screening_criteria",
    "assessment",
    "booking_url",
    "google_sheets_sync"
  ],
  "workflow_guidance": {
    "question_style": "One missing setup detail at a time; reuse information the recruiter already supplied.",
    "draft": "Review the completed job post and rubric with the recruiter before publication.",
    "candidate_decisions": "Evidence and scores support human judgment. MCP final decisions require a separate signed-in dashboard approval.",
    "payments": "The recruiter reviews Stripe checkout. Auto-reload requires explicit approval of saved-card charges and the selected pack price.",
    "booking": "Badal sends an external booking link; it does not create calendar events or verify bookings."
  },
  "compatibility": {
    "Muse_by_Meta": "Discoverable public documentation; authenticated execution depends on the Muse host\u2019s available MCP, HTTP or browser tools. No native Muse installation or connector is claimed.",
    "Instinct": "Discoverable public documentation; use the host\u2019s MCP, authenticated HTTP or browser tools. No native Instinct installation or connector is claimed."
  },
  "privacy": {
    "policy": "https://badal.work/privacy",
    "terms": "https://badal.work/terms",
    "public_discovery_contains_account_data": false,
    "credential_handling": "Keep credentials in private host storage, outside public prompts, URLs, candidate forms and logs."
  },
  "candidate_applications": {
    "scope": "public_application_only",
    "authentication": "none",
    "contract": "https://badal.work/api/public/campaigns/{slug}/agent",
    "submit": "https://badal.work/api/public/campaigns/{slug}/agent-apply",
    "documentation": "https://badal.work/docs#candidate-agents",
    "approval": "Candidate approval required by workflow; confirmed boolean is agent attestation, not independently verified consent.",
    "limitations": [
      "HTTP or interactive browser tools required to submit.",
      "No recruiter records, screening results, or private resume access.",
      "Application only; assessments follow separate recruiter tool policy."
    ]
  }
}
