API Reference
Supported Operations
The two root types of a GraphQL schema are the Query
type and the Mutation
type. These types define the entry points for retrieving and modifying data, respectively. The fields under these types define the capabilities of our GraphQL API.
Queries
Data you can retrieve from our API
2 Queries
Schema-Defined Types
All types in our GraphQL schema fall into one of the following categories:
Objects
The entities in our GraphQL schema
6 Objects
Enums
The enumeration types
2 Enums
Scalars
The primitives in our GraphQL schema
7 Scalars
Directives
Directives are used to modify the behavior of the GraphQL schema. They are used to annotate fields, fragments, and operations.
deprecated
Marks an element of a GraphQL schema as no longer supported.
include
Directs the executor to include this field or fragment only when the if argument is true.
rateLimit
Controls the rate of traffic.
skip
Directs the executor to skip this field or fragment when the if argument is true.
specifiedBy
Exposes a URL that specifies the behavior of this scalar.
GraphQL Schema (SDL)
Download the schema at https://developer.firstdollar.com/oauth.schema.graphql"""Controls the rate of traffic."""
directive @rateLimit(
"""Number of seconds before limit is reset."""
duration: Int! = 60
"""Number of occurrences allowed over duration."""
limit: Int! = 60
) on FIELD_DEFINITION | OBJECT
"""Represents an account on a user's health wallet."""
type Account {
"""Whether or not the account is considered active."""
active: Boolean!
"""The user's available balance, which factors in pending withdrawals."""
availableBalance: Money!
"""The user's current balance, which factors in pending deposits."""
currentBalance: Money!
"""
The datetime at which this benefit account will end. If null, the account has no end date.
"""
endDateTime: DateTime
"""The name of the account."""
name: String!
"""The account's type."""
type: AccountType!
}
"""The type of an account in a user's health wallet."""
enum AccountType {
COMMUTER
DCFSA
DIRECTED_SPEND
FSA
HRA
HSA
LPFSA
LSA
REMOTE_WORK
REWARDS
}
"""
A field whose value is a Currency: https://en.wikipedia.org/wiki/ISO_4217.
"""
scalar Currency
"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.This scalar is serialized to a string in ISO 8601 format and parsed from a string in ISO 8601 format.
"""
scalar DateTime
"""
A field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.
"""
scalar EmailAddress
"""Represents a monetary value."""
type Money {
"""
The amount of money in the smallest denomination of the target currency. In `USD`, for example, this represents cents.
"""
amount: Int!
"""
The ISO-4217 currency associated with this money (currently, only USD is supported)
"""
currency: Currency!
"""The amount and currency formatted for display e.g. $10.00"""
display(
"""The format to use for display."""
format: MoneyDisplayFormat = STANDARD
): String!
}
enum MoneyDisplayFormat {
ACCOUNTING
STANDARD
}
"""Represents a person's name."""
type PersonName {
"""The person's first name."""
firstName: String!
"""The person's last name."""
lastName: String!
"""The person's middle name."""
middleName: String
}
"""
Describes the street address belonging to an individual or corporation.
"""
type PhysicalAddress {
"""The first line of the address."""
addressLine1: String!
"""The second line of the address."""
addressLine2: String
"""The city in which the address is located."""
city: String!
"""The country in which the address is located."""
country: String
"""The state in which the address is located."""
state: String!
"""The postal ("zip") code of the address."""
zip: String!
}
"""Queries are used to retrieve data from the API."""
type Query {
"""A simple ping query to test the API."""
ping: String
"""Retrieve information about the authenticated user."""
user: User
}
"""Represents a First Dollar user."""
type User {
"""The user's primary address."""
address: PhysicalAddress
"""The user's primary email address."""
email: EmailAddress!
"""The user's unique identifier."""
id: ID!
"""The address to which mail should be sent."""
mailingAddress: PhysicalAddress
"""The user's name."""
name: PersonName!
"""The user's health wallet."""
wallet: Wallet!
}
"""Represents a First Dollar user's wallet."""
type Wallet {
"""The user's health wallet accounts."""
accounts(
"""The types of accounts to return."""
types: [AccountType!] = [COMMUTER, DCFSA, DIRECTED_SPEND, FSA, HRA, HSA, LPFSA, LSA, REMOTE_WORK, REWARDS]
): [Account!]!
}