{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-repo-invitations-api-repository-invitation-schema.json",
  "title": "repository-invitation",
  "description": "Repository invitations let you manage who you collaborate with.",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier of the repository invitation.",
      "example": 42,
      "type": "integer",
      "format": "int64"
    },
    "repository": {
      "$ref": "#/components/schemas/minimal-repository"
    },
    "invitee": {
      "$ref": "#/components/schemas/nullable-simple-user"
    },
    "inviter": {
      "$ref": "#/components/schemas/nullable-simple-user"
    },
    "permissions": {
      "description": "The permission associated with the invitation.",
      "example": "read",
      "type": "string",
      "enum": [
        "read",
        "write",
        "admin",
        "triage",
        "maintain"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2016-06-13T14:52:50-05:00"
    },
    "expired": {
      "description": "Whether or not the invitation has expired",
      "type": "boolean",
      "example": true
    },
    "url": {
      "description": "URL for the repository invitation",
      "example": "https://api.github.com/user/repository-invitations/1",
      "type": "string"
    },
    "html_url": {
      "type": "string",
      "example": "https://github.com/octocat/Hello-World/invitations"
    },
    "node_id": {
      "type": "string",
      "example": "12345678"
    }
  },
  "required": [
    "id",
    "node_id",
    "permissions",
    "inviter",
    "invitee",
    "repository",
    "url",
    "html_url",
    "created_at"
  ]
}