Eduflow
  • Welcome
  • API Reference
  • API Explorer
  • Getting started
    • API Overview
    • Authentication
    • Usage
  • GraphQL at Eduflow
    • Introduction to GraphQL
    • Variables
    • Fragments
    • Paginating queries
    • Inline fragments
  • Guides
    • Institutions
    • Courses
    • Flows and Activities
    • Reviews and Reflections
    • Discussions
    • Quizzes
    • Users & Participants
    • Tags
    • Course summary (outputs)
    • vs Peergrade
  • API Changelog
Powered by GitBook
On this page
  • Institution and course owner
  • Institution owner
  • Course owner
  • Course participants
  • Searching by username
  • Searching by participant type:
  • Individual participant lookup
  • Participant invite links

Was this helpful?

  1. Guides

Users & Participants

PreviousQuizzesNextTags

Last updated 2 years ago

Was this helpful?

Institution and course owner

Users exist in a variety of levels in Eduflow. and allow direct access to their owner. In GraphQL, these are associated with the User object type.

Institution owner

{
  institution {
    name
    owner {
      name
      email
    }
  }
}
{
  "data": {
    "institution": {
      "name": "Dunder Mifflin",
      "owner": {
        "name": "Michael Scott",
        "email": "michael.scott@dunder-mifflin.com"
      }
    }
  }
}

Course owner

{
  course(id: "00000000-5945-95c7-65fd-a9747b200320") {
    owner {
      name
      email
    }
  }
}
{
  "data": {
    "course": {
      "owner": {
        "name": "John Smith",
        "email": "john.smith@example.edu"
      }
    }
  }
}

Course participants

Participant types: Owner (creator of course), Admins, Instructors, Assistants and Students.

{
  course(id: "00000000-5944-95c7-65fc-a9747b200320") {
    participants(first: 5) {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}
{
  "data": {
    "course": {
      "participants": {
        "edges": [
          {
            "node": {
              "participantType": "Owner",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Michael Scarn",
                "email": "michael.scott@dunder-mifflin"
              }
            }
          },
          {
            "node": {
              "participantType": "Teacher",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "John Doe",
                "email": "john.doe@example.edu"
              }
            }
          },
          {
            "node": {
              "participantType": "Teacher",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Gyro",
                "email": "abba.g@example.eu"
              }
            }
          },
          {
            "node": {
              "participantType": "Assistant",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Dwight Schrute",
                "email": "schrute@dunder-mifflin.com"
              }
            }
          },
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Jim Halpert",
                "email": "jim@dundner-mifflin.com"
              }
            }
          }
        ]
      }
    }
  }
}

Searching by username

{
  course(id: "00000000-5945-95c7-65fc-a9747b2003210") {
    participants(first: 1, searchTerm: "Angela") {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}
{
  "data": {
    "course": {
      "participants": {
        "edges": [
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Angela Martin",
                "email": "angela.martin@dunder-mifflin.com"
              }
            }
          }
        ]
      }
    }
  }
}

Searching by participant type:

{
  course(id: "00000000-5945-95c7-65fc-a9747b200120") {
    participants(first: 5, participantTypeFilter: Student) {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}
{
  "data": {
    "course": {
      "participants": {
        "edges": [
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Pam Beesly",
                "email": "pam.beesly@dunder-mifflin.com"
              }
            }
          },
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Ryan Howard",
                "email": "ryan.howard@dunder-mifflin.com"
              }
            }
          },
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Kevin Malone",
                "email": "kevin.malone@dunder-mifflin.com"
              }
            }
          },
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Andy Bernard",
                "email": "andy.bernard@dunder-mifflin.com"
              }
            }
          },
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Phyllis Smith",
                "email": "phyllis.smith@dunder-mifflin.com"
              }
            }
          }
        ]
      }
    }
  }
}

Individual participant lookup

{
  course(id: "00000000-5943-95c7-65fc-a9747b200320") {
    participants(id: "7a41ad8e-f252-449d-8add-13c8ae27470b") {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}
{
  "data": {
    "course": {
      "participants": {
        "edges": [
          {
            "node": {
              "participantType": "Student",
              "participantStatus": "ACTIVE",
              "user": {
                "name": "Pam Beesly",
                "email": "pam.beesly@dunder-mifflin.com"
              }
            }
          }
        ]
      }
    }
  }
}

Participant invite links

Invitation links and embed (a.k.a magic links) can be accessed through the Participant response object:

{
  course(id: "00000000-5943-95c7-65fc-a9747b200320") {
    owner {
      name
      email
    }
    participants {
      edges {
        node {
          participantStatus
          invitationLink
          embedLoginLink
        }
      }
    }
  }
}
{
  "data": {
    "course": {
      "participants": [
        {
          "id": "5a7fdd2c-47d4-4a7f-8576-a640938e5574",
          "participantType": "Student",
          "participantStatus": "INVITATION_PENDING",
          "user": {
            "name": "Thomas Smith"
          },
          "invitationLink": "https://app.eduflow.com/join-from-email?userId=5a7fdd2c-47d4-4a7f-8576-a640938e5574&courseId=00000000-5945-95c7-65fc-a9747b200320&token=eyJ1c2VyX2lkIjoiNWE3ZmRkMmMtNDdkNC00YTdmLTg1NzYtYTY0MDkzOGU1NTc0In0.Fr75Hg.6VbxV2GGVNeKWc4C0xTn5CYTtm0",
          "embedLoginLink": "https://app.eduflow.com/join-from-email?userId=5a7fdd2c-47d4-4a7f-8576-a640938e5574&courseId=00000000-5945-95c7-65fc-a9747b200320&token=eyJ1c2VyX2lkIjoiNWE3ZmRkMmMtNDdkNC00YTdmLTg1NzYtYTY0MDkzOGU1NTc0In0.Fr75Hg.6VbxV2GGVNeKWc4C0xTn5CYTtm0&skip_signup=1"
        }
      ]
    }
  }
}
  • invitationLink: Will prompt user to create a password

  • embedLoginLink: "Magic link", takes user directly to to course

In , users are queried through a pageable : Course.participants. Since course users have course-specific context associated them (their participant type and status), their User objects are wrapped in Participant.

Institutions
courses
courses
connection