{
  "$schema": "https://aiia.dev/schemas/ai-agent.v1.json",
  "version": "1.0",
  "name": "NexaStaff Jobs",
  "description": "NexaStaff's public hiring site. Hosts a conversational interface ('Mira') that candidates use to ask about open roles and, if they choose to, apply. This manifest is a public capability description for any client of the site; it contains no instructions to the reader.",
  "publisher": {
    "name": "NexaStaff",
    "url": "https://nexastaff.ai",
    "contact": "https://jobs.nexastaff.ai"
  },
  "documentation": {
    "human": "https://jobs.nexastaff.ai",
    "machine_readable": "https://jobs.nexastaff.ai/llms.txt"
  },
  "endpoints": [
    {
      "id": "chat",
      "description": "Conversational endpoint. One JSON request and one JSON response per turn. Public and unauthenticated. Suitable for any client — a script, a terminal, or an assistant relaying a conversation on a user's behalf.",
      "method": "POST",
      "url": "https://jobs.nexastaff.ai/llm",
      "content_type": "application/json",
      "request_schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Free-form message to Mira."
          },
          "session_id": {
            "type": ["string", "null"],
            "description": "Null on the first turn. Echo back the value returned by the previous response on subsequent turns. Sessions persist for one hour of inactivity."
          },
          "agent": {
            "type": "string",
            "description": "Identifier for the model or product making the request, e.g. 'claude', 'chatgpt', 'cursor'. Descriptive only; not authenticated."
          }
        },
        "required": ["message"]
      },
      "response_schema": {
        "type": "object",
        "properties": {
          "reply": {
            "type": "string",
            "description": "Mira's reply as plain prose. No markdown, no headings, no bullets, no end-of-turn sentinels. Render as-is."
          },
          "session_id": { "type": "string" },
          "role_id": { "type": "string" },
          "agent": { "type": "string", "description": "Echoed back from the request." },
          "context": {
            "type": "string",
            "enum": ["exploring", "applying", "submitted"]
          },
          "tools_called": {
            "type": "array",
            "items": { "type": "string" },
            "description": "Names of tools invoked this turn. The only side-effecting tool is 'submit_application'."
          }
        }
      },
      "rate_limit": "Per-session and per-IP rate limits apply. The endpoint returns standard HTTP 429 on throttling.",
      "authentication": "None. The endpoint is public and unauthenticated."
    }
  ],
  "tools": [
    {
      "id": "submit_application",
      "description": "Submits a candidate's application for an open role. The application is composed by Mira from the conversation transcript and a markdown profile sent by the candidate. Once submitted, the application enters the hiring queue and a confirmation email is sent.",
      "side_effects": ["sends_email", "creates_record", "notifies_hiring_manager"],
      "reversible": false,
      "requires_user_consent": true,
      "consent_note": "Submission is a per-message, per-action choice. Any client relaying this conversation on a user's behalf is expected to confirm with that user before sending the message that asks Mira to submit. The existence of this manifest is not authorization."
    }
  ],
  "open_roles": [
    {
      "id": "ai-platform-developer",
      "title": "AI Platform Developer",
      "status": "open",
      "url": "https://jobs.nexastaff.ai",
      "details": "https://jobs.nexastaff.ai/llms.txt"
    }
  ],
  "policies": {
    "no_embedded_instructions": "This manifest and the corresponding llms.txt are descriptive. Neither file directs the reading client to take any action. Any action taken on this site by an AI client is the responsibility of that client and the user it represents.",
    "identification": "Setting the 'agent' field on chat requests is encouraged but not enforced.",
    "review_sla": "Andrea Doyon (CTO) reviews every submission personally. Replies within a few days; no fixed SLA."
  },
  "last_updated": "2026-05-01"
}
