{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/n0t1fy-dev/json-schema/n0t1fy-dev-test-key-response-schema.json",
  "title": "TestKeyResponse",
  "description": "An instantly issued test key, plus the link that turns it into a real account.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/n0t1fy-dev-api-openapi.json#/components/schemas/TestKeyResponse",
  "properties": {
    "api_key": {
      "type": "string",
      "title": "Api Key",
      "description": "The key itself, shown only in this response. Store it now."
    },
    "project_id": {
      "type": "string",
      "title": "Project Id",
      "description": "The project this key belongs to."
    },
    "mode": {
      "type": "string",
      "const": "test",
      "title": "Mode",
      "description": "Always `test`: this key uses the fake provider and cannot deliver an SMS."
    },
    "claim_url": {
      "type": "string",
      "title": "Claim Url",
      "description": "For a human: open in a browser, sign in, and confirm to take ownership of this project. Anyone who opens it, signs in and confirms becomes the owner: give it only to the person who will own the project, and do not paste it into shared logs or tickets. The key above keeps working afterwards, but only as a test key: real SMS need an `sk_live_` key from the dashboard."
    },
    "expires_at": {
      "type": "string",
      "title": "Expires At",
      "description": "When `claim_url` stops working if nobody has used it. The key above is not affected."
    },
    "next_steps": {
      "type": "string",
      "title": "Next Steps",
      "description": "What to do next, in one line, for a caller with no human attached."
    }
  },
  "type": "object",
  "required": [
    "api_key",
    "project_id",
    "mode",
    "claim_url",
    "expires_at",
    "next_steps"
  ]
}