{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Resource identifier returned by the operation."
    },
    "workspace_id": {
      "type": "string",
      "description": "Workspace that owns this record."
    },
    "email": {
      "type": "string",
      "description": "email recorded for this result."
    },
    "role": {
      "type": "string",
      "description": "role recorded for this result."
    },
    "project_ids": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Accessible project identifiers; null grants access to all workspace projects."
          },
          "description": "Accessible project identifiers; null grants access to all workspace projects."
        },
        {
          "type": "null"
        }
      ],
      "description": "Accessible project identifiers; null grants access to all workspace projects."
    },
    "invited_by": {
      "type": "string",
      "description": "invited by recorded for this result."
    },
    "created_at": {
      "type": "string",
      "description": "UTC timestamp when the record was created."
    },
    "expires_at": {
      "type": "string",
      "description": "expires at recorded for this result."
    },
    "accepted_at": {
      "anyOf": [
        {
          "type": "string",
          "description": "accepted at recorded for this result."
        },
        {
          "type": "null"
        }
      ],
      "description": "accepted at recorded for this result."
    },
    "revoked_at": {
      "anyOf": [
        {
          "type": "string",
          "description": "revoked at recorded for this result."
        },
        {
          "type": "null"
        }
      ],
      "description": "revoked at recorded for this result."
    },
    "state": {
      "type": "string",
      "description": "Saved lifecycle or evidence state, as enumerated for this record."
    },
    "token": {
      "description": "Invitation token returned only at creation. The accepting account must have the matching verified email.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "workspace_id",
    "email",
    "role",
    "project_ids",
    "invited_by",
    "created_at",
    "expires_at",
    "accepted_at",
    "revoked_at",
    "state"
  ],
  "additionalProperties": {}
}
