Skip to content

Common Workflows

Here are the most common operations for consumers of the API.

1. Show Eligible Scholarships

Retrieve scholarships the current user is eligible for:

graphql
query Eligible($pagination: PaginationInput) {
  scholarships {
    list(filters: { isEligible: true }, pagination: $pagination) {
      totalCount
      nodes {
        id
        title
        amount
      }
    }
  }
}

2. Apply to a Scholarship

To apply, first create an application record:

graphql
mutation Apply($scholarshipId: ID!) {
  scholarships {
    apply(scholarshipId: $scholarshipId)
  }
}

3. Submit Requirements

After applying, you may need to submit specific requirements (essays, files, etc.):

graphql
mutation SubmitText($input: SubmitApplicationRequirementInput!) {
  submitApplicationRequirement(input: $input) {
    success
    applicationRequirement {
      id
      __typename
    }
  }
}

4. Filling Profile Information

Many profile fields (like Citizenship, Ethnicity, and Career Goals) use a Hybrid Enum structure. To update these fields, you first fetch the available options from the dictionary and then use the enum value in the update mutation.

See the Dictionaries & Enums Guide for more details.

Fetching Options

graphql
query GetOptions {
  references {
    dictionaries {
      citizenship {
        value
        name
      }
    }
  }
}

Updating Profile

graphql
mutation UpdateProfile($citizenship: CitizenshipStatus!) {
  viewer {
    updateUser(input: { citizenship: $citizenship }) {
      success
      user {
        citizenship
      }
    }
  }
}

OwlFlow Developer Portal