# church_of_jesus_christ_api.church_of_jesus_christ_api package

## Submodules

## church_of_jesus_christ_api.church_of_jesus_christ_api.church_of_jesus_christ_api module

## Module contents

The module that implements ChurchOfJesusChristAPI. This module allows the user to get data from churchofjesuschrist.org.

class `church_of_jesus_christ_api.church_of_jesus_christ_api.``ChurchOfJesusChristAPI`(username: str, password: str, debug_mode: bool = False)

  Bases: `object`

  A class used to interact with features found on churchofjesuschrist.org, such as getting member data, calling information, reports, etc.

  `download_patriarchal_blessing`(filename: str = 'patriarchal_blessing.pdf') → None

    Downloads user’s patriarchal blessing (if available online) and saves it to a file with the given name

    Parameters

    filenamestr

      The name of the file in which to save the PDF of the patriarchal blessing

  `get_action_and_interviews`(unit: int = None) → JSONType

    Returns the unit action and interview list

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            type: str,
            key: str,
            title: str,
            description: str,
            list: [
              {
                name: str,
                spokenName: str,
                nameOrder: int,
                birthDate: str,
                birthDateSort: str,
                birthDaySort: str,
                birthDayFormatted: str,
                birthDateFormatted: str,
                gender: str,
                genderCode: int,
                mrn: NoneType,
                id: int,
                email: NoneType,
                householdEmail: NoneType,
                phone: str,
                householdPhone: str,
                unitNumber: int,
                unitName: str,
                priesthood: NoneType,
                priesthoodCode: NoneType,
                priesthoodType: NoneType,
                age: int,
                actualAge: int,
                actualAgeInMonths: int,
                genderLabelShort: str,
                visible: NoneType,
                nonMember: bool,
                outOfUnitMember: bool,
                notAccountable: bool,
                address: str,
                status: str,
                confirmationDate: NoneType,
                confirmationDateFormatted: NoneType,
                action: str,
                ailActionType: str,
                calling: NoneType,
                interviewDate: NoneType,
                interviewComplete: bool,
                sustainedDate: NoneType,
                accountable: bool,
                formattedMrn: NoneType,
                setApart: bool
              }
            ],
            tab: str
          }
        ]

  `get_birthdays`(unit: int = None) → JSONType

    Returns the unit birthday list

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            birthdays: [
              {
                name: str,
                spokenName: str,
                nameOrder: NoneType,
                birthDate: str,
                birthDateSort: str,
                birthDaySort: str,
                birthDayFormatted: str,
                birthDateFormatted: str,
                gender: str,
                genderCode: int,
                mrn: NoneType,
                id: int,
                email: NoneType,
                householdEmail: NoneType,
                phone: NoneType,
                householdPhone: NoneType,
                unitNumber: int,
                unitName: str,
                priesthood: NoneType,
                priesthoodCode: NoneType,
                priesthoodType: NoneType,
                age: NoneType,
                actualAge: NoneType,
                actualAgeInMonths: NoneType,
                genderLabelShort: str,
                visible: NoneType,
                nonMember: bool,
                outOfUnitMember: bool,
                notAccountable: bool,
                address: str,
                monthInteger: int,
                dayInteger: int,
                birthDayAge: NoneType,
                displayBirthdate: str,
                sustainedDate: NoneType,
                accountable: bool,
                formattedMrn: NoneType,
                setApart: bool
              }
            ]
          }
        ]

  `get_directory`(unit: int = None) → JSONType

    Returns the unit directory of households

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            uuid: str,
            unitNumber: int,
            displayName: str,
            familyName: str,
            phone: str,
            address: str,
            coordinates: {
              lat: float,
              long: float
            },
            verified: bool,
            members: [
              {
                uuid: str,
                individualId: int,
                householdUuid: str,
                head: bool,
                displayName: str,
                preferredName: str,
                givenName: str,
                familyName: str,
                phone: str,
                email: str,
                permissions: [
                  str
                ]
              }
            ],
            permissions: [
              str
            ]
          }
        ]

  `get_donation_history`(start_date: datetime.date = None, end_date: datetime.date = None) → JSONType

    Returns the user’s church donation record

    Parameters

    start_date: datetime.date

      The start date after which donations will be retrieved

    end_date: datetime.date

      The end date after which donations will no longer be retrieved

    Returns

        [
          {
            slipId: int,
            amount: int,
            date: str,
            countryId: int,
            busId: int,
            countryName: str,
            countryAbbreviation: str,
            source: str,
            sourceId: int,
            statusCode: str,
            participantName: str,
            currencyCode: str,
            si: bool,
            typeId: int,
            giftAid: bool,
            reusable: bool,
            slipLines: list,
            instrumentLines: list,
            owner: bool
          }
        ]

  `get_family_history_report`(unit: int = None) → JSONType

    Returns the unit family history report

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          submitterTrendReport: {
            ytdDiffYearOverYear: int,
            trendData: [
              {
                year: int,
                months: [
                  {
                    month: int,
                    submitters: int
                  }
                ],
                label: str
              }
            ]
          },
          participationReports: {
            yearsInReport: [
              str
            ],
            percentageFourGen: [
              {
                monthEndDate: str,
                monthEndDisplayLabel: str,
                label: NoneType,
                title: NoneType,
                percent: float
              }
            ],
            loggingIn: [
              {
                monthEndDate: str,
                monthEndDisplayLabel: str,
                label: NoneType,
                title: NoneType,
                membersLoggingIn: int
              }
            ],
            addedAncestor: [
              {
                monthEndDate: str,
                monthEndDisplayLabel: str,
                label: NoneType,
                title: str,
                membersAddingAncestor: int
              }
            ],
            addedMemory: [
              {
                monthEndDate: str,
                monthEndDisplayLabel: str,
                label: NoneType,
                title: str,
                membersAddingMemory: int
              }
            ],
            membersWhoIndexed: [
              {
                monthEndDate: str,
                monthEndDisplayLabel: str,
                label: NoneType,
                title: str,
                membersIndexing: int
              }
            ]
          },
          ytdSubmittersReports: {
            monthEndDate: str,
            summary: {
              unitNumber: int,
              unitName: str,
              totalMembersSubmitting: int,
              totalPotentialSubmitters: int,
              percentSubmitting: float,
              adultSubmitters: int,
              totalAdults: int,
              youthSubmitters: int,
              totalYouth: int,
              convertSubmitters: int,
              totalConverts: int,
              ysaSubmitters: int,
              totalYsa: int,
              totalPercentage: str,
              adultPercentage: str,
              youthPercentage: str,
              convertPercentage: str,
              ysasPercentage: str
            },
            unitTotals: [
              {
                unitNumber: int,
                unitName: str,
                totalMembersSubmitting: int,
                totalPotentialSubmitters: int,
                percentSubmitting: float,
                adultSubmitters: int,
                totalAdults: int,
                youthSubmitters: int,
                totalYouth: int,
                convertSubmitters: int,
                totalConverts: int,
                ysaSubmitters: int,
                totalYsa: int,
                totalPercentage: str,
                adultPercentage: str,
                youthPercentage: str,
                convertPercentage: str,
                ysasPercentage: str
              }
            ]
          },
          reportDate: str,
          error: bool
        }

  `get_key_indicators`(unit: int = None) → JSONType

    Returns the unit key indicators

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          quarters: [
            str
          ],
          statistics: [
            {
              name: str,
              label: str,
              stats: [
                int
              ]
            }
          ]
        }

  `get_member_callings_and_classes`(member_id: int = None) → JSONType

    Returns the callings and class assignments for the given member

    Parameters

    member_idint

      ID of the member for which to retrieve information

    Returns

        {
          authorizedToEditCallings: bool,
          authorizedToEditClassAssignments: bool,
          subOrgsForPotentialNewCallings: list,
          individualCallings: [
            {
              unitNumber: int,
              unitName: str,
              subOrgTypeId: int,
              subOrgId: int,
              newSubOrgId: NoneType,
              organization: str,
              parentOrganization: NoneType,
              otherAllowedSubOrgs: [
                {
                  unitNumber: int,
                  subOrgId: int,
                  orgTypeIds: [
                    int
                  ],
                  defaultOrgTypeIds: [
                    int
                  ],
                  name: str,
                  children: list,
                  userCanEditCallings: bool,
                  isClass: bool,
                  isRealClass: bool,
                  isSplit: bool,
                  classGroup: NoneType,
                  parentName: NoneType,
                  firstTypeId: int,
                  isCombined: bool,
                  gender: NoneType
                }
              ],
              positionTypeId: int,
              positionId: int,
              releasePositionIds: NoneType,
              position: str,
              positionDisplayOrder: int,
              memberId: int,
              mrn: NoneType,
              nameVerificationForMrn: NoneType,
              memberName: str,
              memberNameOrder: int,
              memberEmail: str,
              memberPhone: NoneType,
              memberUnitName: NoneType,
              memberUnitNumber: NoneType,
              setApartByPersonId: NoneType,
              setApartByPersonMrn: NoneType,
              setApartByPersonName: NoneType,
              ordainedByPersonId: NoneType,
              ordainedByPersonMrn: NoneType,
              ordainedByPersonName: NoneType,
              activeDate: str,
              expectedEndDate: NoneType,
              releaseDate: NoneType,
              setApartDate: str,
              ordainDate: NoneType,
              missionName: NoneType,
              missionUnitNumber: NoneType,
              missionaryHomeUnitName: NoneType,
              dualAuthUser: NoneType,
              dualAuthPass: NoneType,
              responsibilities: NoneType,
              contactWorkPhone: NoneType,
              contactMobilePhone: NoneType,
              contactEmail: str,
              contactMailingAddr: NoneType,
              autoReleasedPositionTypeIds: NoneType,
              editable: bool,
              contactInfoEditable: bool,
              allowMultiple: bool,
              custom: bool,
              setApart: bool,
              customNameChanged: bool,
              hidden: bool,
              allowNew: bool,
              userCanEdit: bool,
              userCanEditContactInfoOnly: bool,
              canHaveResponsibilities: bool,
              unpublished: bool,
              requiresSetApartDateAndPerson: bool,
              requiresBishopOrdination: bool,
              allowVacant: bool,
              requiresDualAuthorization: bool,
              pendingDelete: bool,
              hasContactInfo: bool,
              showUnitCard: bool,
              pendingCalling: bool,
              pendingDualAuth: bool,
              allowApprove: bool,
              previouslyOrdained: bool,
              userCannotEditPreviousOrdination: bool,
              approvalRequest: bool,
              sequence: int,
              errors: {},
              vacant: bool,
              positionTypeEnum: str
            }
          ],
          householdCallings: [
            {
              unitNumber: int,
              unitName: str,
              subOrgTypeId: int,
              subOrgId: int,
              newSubOrgId: NoneType,
              organization: str,
              parentOrganization: NoneType,
              otherAllowedSubOrgs: [
                {
                  unitNumber: int,
                  subOrgId: int,
                  orgTypeIds: [
                    int
                  ],
                  defaultOrgTypeIds: [
                    int
                  ],
                  name: str,
                  children: list,
                  userCanEditCallings: bool,
                  isClass: bool,
                  isRealClass: bool,
                  isSplit: bool,
                  classGroup: str,
                  parentName: str,
                  firstTypeId: int,
                  isCombined: bool,
                  gender: str
                }
              ],
              positionTypeId: int,
              positionId: int,
              releasePositionIds: NoneType,
              position: str,
              positionDisplayOrder: int,
              memberId: int,
              mrn: NoneType,
              nameVerificationForMrn: NoneType,
              memberName: str,
              memberNameOrder: int,
              memberEmail: NoneType,
              memberPhone: NoneType,
              memberUnitName: NoneType,
              memberUnitNumber: NoneType,
              setApartByPersonId: NoneType,
              setApartByPersonMrn: NoneType,
              setApartByPersonName: NoneType,
              ordainedByPersonId: NoneType,
              ordainedByPersonMrn: NoneType,
              ordainedByPersonName: NoneType,
              activeDate: str,
              expectedEndDate: NoneType,
              releaseDate: NoneType,
              setApartDate: str,
              ordainDate: NoneType,
              missionName: NoneType,
              missionUnitNumber: NoneType,
              missionaryHomeUnitName: NoneType,
              dualAuthUser: NoneType,
              dualAuthPass: NoneType,
              responsibilities: NoneType,
              contactWorkPhone: NoneType,
              contactMobilePhone: NoneType,
              contactEmail: str,
              contactMailingAddr: NoneType,
              autoReleasedPositionTypeIds: NoneType,
              editable: bool,
              contactInfoEditable: bool,
              allowMultiple: bool,
              custom: bool,
              setApart: bool,
              customNameChanged: bool,
              hidden: bool,
              allowNew: bool,
              userCanEdit: bool,
              userCanEditContactInfoOnly: bool,
              canHaveResponsibilities: bool,
              unpublished: bool,
              requiresSetApartDateAndPerson: bool,
              requiresBishopOrdination: bool,
              allowVacant: bool,
              requiresDualAuthorization: bool,
              pendingDelete: bool,
              hasContactInfo: bool,
              showUnitCard: bool,
              pendingCalling: bool,
              pendingDualAuth: bool,
              allowApprove: bool,
              previouslyOrdained: bool,
              userCannotEditPreviousOrdination: bool,
              approvalRequest: bool,
              sequence: int,
              errors: {},
              vacant: bool,
              positionTypeEnum: str
            }
          ],
          classAssignments: [
            {
              group: str,
              classTypeId: int,
              organization: str,
              classId: int,
              className: str,
              defaultClass: bool,
              defaultClassTypeId: int,
              individualId: int,
              adultClass: bool
            }
          ]
        }

  `get_member_list`(unit: int = None) → JSONType

    Returns the unit member list

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            nameFormats: {
              listPreferredLocal: str,
              givenPreferredLocal: str,
              familyPreferredLocal: str,
              listPreferred: NoneType,
              listOfficial: NoneType
            },
            uuid: str,
            nameOrder: int,
            age: NoneType,
            emails: [
              {
                email: str,
                ownerType: NoneType
              }
            ],
            phones: [
              {
                number: str,
                ownerType: NoneType
              }
            ],
            phoneNumber: str,
            priesthoodOffice: NoneType,
            membershipUnit: NoneType,
            legacyCmisId: int,
            sex: str,
            unitOrgsCombined: [
              str
            ],
            positions: NoneType,
            householdMember: {
              householdRole: str,
              household: {
                anchorPerson: {
                  legacyCmisId: int,
                  uuid: str
                },
                uuid: str,
                familyNameLocal: str,
                directoryPreferredLocal: str,
                address: {
                  formattedLine1: str,
                  formattedLine2: str,
                  formattedLine3: NoneType,
                  formattedLine4: NoneType,
                  formatted1: NoneType,
                  formatted2: NoneType,
                  formatted3: NoneType,
                  formatted4: NoneType,
                  formattedAll: list,
                  addressLines: [
                    str
                  ]
                },
                emails: NoneType,
                phones: [
                  {
                    number: str,
                    ownerType: NoneType
                  }
                ],
                unit: {
                  parentUnit: NoneType,
                  uuid: NoneType,
                  unitNumber: int,
                  nameLocal: str,
                  unitType: NoneType,
                  children: NoneType
                }
              },
              membershipUnitFlag: bool
            },
            member: bool,
            householdAnchorPersonUuid: str,
            isSpouse: bool,
            youthBasedOnAge: bool,
            isAdult: bool,
            houseHoldMemberNameForList: str,
            isOutOfUnitMember: bool,
            nameFamilyPreferredLocal: str,
            unitNumber: int,
            householdNameDirectoryLocal: str,
            convert: bool,
            householdNameFamilyLocal: str,
            householdRole: str,
            email: str,
            unitName: str,
            outOfUnitMember: bool,
            householdEmail: NoneType,
            formattedAddress: str,
            householdUuid: str,
            isProspectiveElder: bool,
            isSingleAdult: bool,
            isYoungSingleAdult: bool,
            priesthoodTeacherOrAbove: bool,
            isHead: bool,
            householdPhoneNumber: str,
            personUuid: str,
            nameListPreferredLocal: str,
            isMember: bool,
            nameGivenPreferredLocal: str,
            address: {
              formattedLine1: str,
              formattedLine2: str,
              formattedLine3: NoneType,
              formattedLine4: NoneType,
              formatted1: NoneType,
              formatted2: NoneType,
              formatted3: NoneType,
              formatted4: NoneType,
              formattedAll: list,
              addressLines: [
                str
              ]
            },
            birth: {
              date: {
                date: str,
                calc: str,
                display: str
              },
              monthDay: {
                date: str,
                calc: str,
                display: str
              }
            },
            personStatusFlags: {
              member: bool,
              convert: bool,
              adult: bool,
              singleAdult: bool,
              youngSingleAdult: bool,
              prospectiveElder: bool
            }
          }
        ]

  `get_member_service`(member_id: int = None) → JSONType

    Returns member’s service assignments

    Parameters

    member_idint

      ID of the member for which to retrieve information

    Returns

        {
          outOfUnitMember: bool,
          individual: {
            errors: {},
            warnings: {},
            outOfUnit: bool,
            hasOutOfUnitRecord: bool,
            id: int,
            gender: str,
            notAccountable: bool,
            birthDate: str,
            birthDateDisplay: str,
            age: NoneType,
            actualAge: NoneType,
            actualAgeInMonths: NoneType,
            ageAsOfDec31: NoneType,
            ageAsOfDec31NextYear: NoneType,
            adultAgeOrMarried: bool,
            birthPlace: NoneType,
            birthCountry: NoneType,
            birthCountryId: NoneType,
            missionCountryId: NoneType,
            missionLanguageId: NoneType,
            missionCountry: NoneType,
            missionLanguage: NoneType,
            legalNameGroup: {
              formattedLocal: str,
              formattedLatin: str,
              name1: {
                family: str,
                given: str,
                suffix: NoneType,
                translitSource: bool,
                writingSystem: str,
                label: str,
                labelKey: NoneType
              },
              name2: NoneType,
              name3: NoneType,
              autoRomanize: bool
            },
            nameUpdateReason: NoneType,
            preferredNameGroup: {
              formattedLocal: str,
              formattedLatin: str,
              name1: {
                family: str,
                given: str,
                suffix: NoneType,
                translitSource: bool,
                writingSystem: str,
                label: str,
                labelKey: NoneType
              },
              name2: NoneType,
              name3: NoneType,
              autoRomanize: bool
            },
            maidenNameGroup: {
              formattedLocal: NoneType,
              formattedLatin: NoneType,
              name1: {
                family: NoneType,
                given: NoneType,
                suffix: NoneType,
                translitSource: bool,
                writingSystem: str,
                label: str,
                labelKey: NoneType
              },
              name2: NoneType,
              name3: NoneType,
              autoRomanize: bool
            },
            canHaveMaidenName: bool,
            email: str,
            householdEmail: str,
            phone: str,
            householdPhone: str,
            residentialAddress: {
              street1: str,
              street2: NoneType,
              city: str,
              district: NoneType,
              postalCode: str,
              state: int,
              country: int,
              formattedLines: [
                str
              ],
              standardized: NoneType,
              geocodeToUnits: bool,
              units: NoneType
            },
            mailingAddress: {
              street1: NoneType,
              street2: NoneType,
              city: NoneType,
              district: NoneType,
              postalCode: NoneType,
              state: NoneType,
              country: NoneType,
              formattedLines: NoneType,
              standardized: NoneType,
              geocodeToUnits: bool,
              units: NoneType
            },
            mailingSameAsResidential: bool,
            unitName: str,
            unitNumber: str,
            primaryUnitName: str,
            primaryUnitNumber: NoneType,
            moveDate: NoneType,
            moveDateDuration: NoneType,
            priorUnitName: NoneType,
            priorUnitNumber: NoneType,
            priorUnits: NoneType,
            mrn: NoneType,
            hohId: int,
            name: str,
            hohName: str,
            formattedHouseholdCoupleName: str,
            headInUnit: bool,
            priesthood: NoneType,
            priesthoodCode: NoneType,
            sealedToSpouse: NoneType,
            endowed: NoneType,
            spouseName: str,
            spouseId: int,
            spouseInUnit: bool,
            recommendStatus: NoneType,
            moveRestriction: bool,
            hqMoveRestriction: bool,
            moveRestrictionDate: NoneType,
            restorationOfBlessingsRequired: bool,
            confidentialEvents: NoneType,
            canHaveCalling: NoneType,
            canHaveHTAssignment: bool,
            canHaveVTAssignment: bool,
            head: bool,
            formattedMrn: NoneType
          },
          stakeOrDistrictUser: bool,
          individualName: str,
          unitLocaleData: {
            addressFields: [
              str
            ],
            name1WritingSystem: str,
            name2WritingSystem: NoneType,
            hasLatinWritingSystem: bool
          },
          household: {
            hohMrn: NoneType,
            familyNameGroup: {
              formattedLocal: str,
              formattedLatin: str,
              name1: {
                family: str,
                given: NoneType,
                suffix: NoneType,
                translitSource: bool,
                writingSystem: str,
                label: str,
                labelKey: NoneType
              },
              name2: NoneType,
              name3: NoneType,
              autoRomanize: bool
            },
            members: [
              {
                id: int,
                mrn: NoneType,
                pendingId: NoneType,
                linkedRecord: bool,
                member: bool,
                unknown: bool,
                deceased: bool,
                deathDate: NoneType,
                gender: str,
                name: str,
                preferredOrLegalName: str,
                spokenName: NoneType,
                maidenOrLegalName: str,
                listName: str,
                maidenName: NoneType,
                birthDate: str,
                displayBirthDate: str,
                age: NoneType,
                relationshipDisplay: str,
                relationship: str,
                inAuthorizedUnit: bool,
                inHousehold: bool,
                headOfHousehold: bool,
                unitNumber: int,
                nameGroup: NoneType,
                priesthood: NoneType,
                priesthoodType: NoneType,
                allPriesthoodOrdinations: NoneType,
                priesthoodCode: NoneType,
                noMrnInitiated: bool
              }
            ],
            errors: {}
          },
          family: {
            hohMrn: NoneType,
            children: list,
            marriage: {
              errors: {},
              warnings: {},
              authorizedToViewNonMemberSpouse: bool,
              marriageId: str,
              date: NoneType,
              place: NoneType,
              country: NoneType,
              countryId: NoneType,
              spouse: {
                id: int,
                mrn: NoneType,
                pendingId: NoneType,
                linkedRecord: bool,
                member: bool,
                unknown: bool,
                deceased: bool,
                deathDate: NoneType,
                gender: str,
                name: str,
                preferredOrLegalName: str,
                spokenName: NoneType,
                maidenOrLegalName: str,
                listName: str,
                maidenName: str,
                birthDate: str,
                displayBirthDate: str,
                age: NoneType,
                relationshipDisplay: str,
                relationship: str,
                inAuthorizedUnit: bool,
                inHousehold: bool,
                headOfHousehold: bool,
                unitNumber: int,
                nameGroup: NoneType,
                priesthood: NoneType,
                priesthoodType: NoneType,
                allPriesthoodOrdinations: NoneType,
                priesthoodCode: NoneType,
                noMrnInitiated: bool
              },
              memberStatus: NoneType,
              memberType: NoneType,
              spouseMember: bool,
              spouseDeceased: bool,
              spouseEditable: bool,
              nonMemberSpouseNameBirthdateNotEditable: bool,
              spouseUnitNumber: int,
              spouseMrn: NoneType,
              spouseId: int,
              sealingDate: NoneType,
              sealingTemple: NoneType,
              templeId: NoneType,
              restorationOfBlessingsRequired: bool,
              sealedToPriorSpouse: bool,
              terminationDate: NoneType,
              marriageTerminationCause: NoneType,
              mrn: str,
              individualId: int,
              marriageTerminated: bool,
              madeHeadOfHousehold: bool,
              updateName: NoneType,
              legalNameGroup: NoneType,
              preferredNameGroup: NoneType,
              spouseInDifferentWardBranch: bool,
              showTempleInfo: bool
            },
            parents: NoneType
          },
          authorizedToUpdateContactInfo: bool,
          authorizedToViewHTVT: bool,
          authorizedToViewReportBasic: bool,
          recommend: NoneType,
          ordinances: NoneType,
          canChangeMoveRestriction: bool,
          authorizedToViewRecord: bool,
          authorizedToUpdateRecord: bool,
          authorizedToEditMelchizedekPriesthood: bool,
          authorizedToPrintCertificates: bool,
          authorizedToPrintMelchizedekPriesthood: bool,
          authorizedToAddEndowment: bool,
          showNotEditEnabledMessage: bool,
          withinStewardship: bool,
          consentFormId: NoneType,
          consentFormMediaType: NoneType
        }

  `get_members_with_callings`(unit: int = None) → JSONType

    Returns the unit list of members with callings

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            mrn: str,
            unitNumber: int,
            unitName: str,
            subOrgTypeId: int,
            subOrgId: int,
            customSubOrgName: NoneType,
            parentSubOrgId: int,
            positionTypeId: int,
            positionId: int,
            standardPosition: bool,
            position: str,
            displaySequence: int,
            activeCalender: str,
            activeDate: str,
            setApartCalender: NoneType,
            setApartDate: NoneType,
            leaderHomePhone: NoneType,
            leaderWorkPhone: NoneType,
            id: int,
            memberUnitNumber: int,
            memberUnitName: str,
            name: str,
            nameOrder: int,
            birthDate: str,
            birthDateSort: str,
            birthdDateDisplay: str,
            phone: str,
            age: NoneType,
            outOfUnit: bool,
            stake: bool,
            district: bool,
            organization: str,
            spokenName: str,
            gender: str,
            priesthood: NoneType,
            email: str,
            errors: {},
            subOrgType: str,
            sustainedDate: str,
            custom: bool,
            setApart: bool
          }
        ]

  `get_members_without_callings`(unit: int = None) → JSONType

    Returns the unit list of members without callings

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            name: str,
            spokenName: str,
            nameOrder: NoneType,
            birthDate: str,
            birthDateSort: str,
            birthDaySort: str,
            birthDayFormatted: str,
            birthDateFormatted: str,
            gender: str,
            genderCode: int,
            mrn: NoneType,
            id: int,
            email: str,
            householdEmail: NoneType,
            phone: str,
            householdPhone: str,
            unitNumber: int,
            unitName: str,
            priesthood: NoneType,
            priesthoodCode: NoneType,
            priesthoodType: NoneType,
            age: NoneType,
            actualAge: NoneType,
            actualAgeInMonths: NoneType,
            genderLabelShort: str,
            visible: NoneType,
            nonMember: bool,
            outOfUnitMember: bool,
            notAccountable: bool,
            sustainedDate: NoneType,
            formattedMrn: NoneType,
            setApart: bool,
            accountable: bool
          }
        ]

  `get_ministering`(unit: int = None) → JSONType

    Returns the unit ministering assignments

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          individuals: [
            {
              personUuid: str,
              legacyCmisId: int,
              name: str,
              nameOrder: int,
              unitOrgTypeId: int,
              youthBasedOnAge: bool,
              companions: [
                {
                  personUuid: str,
                  legacyCmisId: int,
                  name: str,
                  nameOrder: int,
                  youthBasedOnAge: bool
                }
              ],
              assignments: [
                {
                  personUuid: str,
                  legacyCmisId: int,
                  name: str,
                  nameOrder: int,
                  youthBasedOnAge: bool
                }
              ]
            }
          ],
          households: [
            {
              headOfHouseholdUuid: str,
              headOfHouseholdCmisId: int,
              householdName: str,
              householdSortOrder: int,
              ministeringBrothers: list,
              ministeringSisters: list,
              unitNumber: int,
              unitName: str,
              hasReliefSocietyMember: bool
            }
          ]
        }

  `get_missionary_indicators`(unit: int = None) → JSONType

    Returns the unit missionary indicators

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          keyIndicators: [
            {
              id: int,
              name: str,
              description: str,
              calculationDescription: NoneType,
              actual: int,
              goal: int
            }
          ],
          reportStart: str,
          reportEnd: str
        }

  `get_missionary_progress_record`(unit: int = None) → JSONType

    Returns the unit missionary progress record

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            fullName: str,
            status: int,
            statusName: str,
            gender: NoneType,
            age: str,
            address: str,
            phone: {
              mobile: NoneType,
              home: NoneType,
              work: NoneType,
              other: NoneType
            },
            email: {
              home: NoneType,
              work: NoneType,
              family: NoneType,
              other: NoneType
            },
            formattedBaptismDate: NoneType,
            fellowshippers: list,
            memberFellowshippers: list,
            otherFellowshippers: list,
            missionaries: {
              names: [
                str
              ],
              area_id: str
            },
            assignedMissionaries: [
              {
                name: str,
                spokenName: NoneType,
                nameOrder: NoneType,
                birthDate: NoneType,
                birthDateSort: NoneType,
                birthDaySort: NoneType,
                birthDayFormatted: NoneType,
                birthDateFormatted: str,
                gender: str,
                genderCode: int,
                mrn: NoneType,
                id: int,
                email: str,
                householdEmail: NoneType,
                phone: str,
                householdPhone: str,
                unitNumber: NoneType,
                unitName: NoneType,
                priesthood: NoneType,
                priesthoodCode: NoneType,
                priesthoodType: NoneType,
                age: NoneType,
                actualAge: NoneType,
                actualAgeInMonths: NoneType,
                genderLabelShort: str,
                visible: NoneType,
                nonMember: bool,
                outOfUnitMember: bool,
                notAccountable: bool,
                formattedMrn: NoneType,
                sustainedDate: NoneType,
                setApart: bool,
                accountable: bool
              }
            ],
            visits: list,
            lastVisit: int,
            formattedLastVisit: NoneType,
            lastSacramentAttendance: int,
            formattedLastSacramentAttendance: NoneType,
            last6Sundays: [
              {
                date: int,
                attended: bool,
                formattedDate: str
              }
            ],
            needs: NoneType,
            teachingRecord: NoneType,
            visitFilters: list,
            sacramentAttendanceFilters: list,
            member: NoneType,
            statusFilters: [
              str
            ],
            person_id: int,
            first_name: str,
            last_name: NoneType,
            cmis_id: NoneType,
            mem_taught: NoneType,
            baptism_date: int,
            baptism_goal_date: NoneType,
            confirmation_date: NoneType,
            sacrament_attendance: list
          }
        ]

  `get_moved_in`(unit: int = None) → JSONType

    Returns the unit list of recently moved in members

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            addressUnknown: bool,
            age: NoneType,
            moveDateOrder: int,
            nameOrder: int,
            id: int,
            householdPositionEnum: str,
            address: str,
            birthdate: str,
            birthdateCalc: str,
            genderLabelShort: str,
            householdUuid: str,
            householdPosition: str,
            moveDate: str,
            moveDateCalc: str,
            name: str,
            phone: str,
            priesthood: NoneType,
            priorUnitNumber: str,
            priorUnitName: str,
            unitName: str,
            gender: str,
            textAddress: str,
            locale: str
          }
        ]

  `get_moved_out`(unit: int = None) → JSONType

    Returns the unit list of recently moved out members

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            name: str,
            nameOrder: int,
            birthDate: str,
            moveDateOrder: int,
            moveDate: str,
            priorUnit: NoneType,
            nextUnitName: NoneType,
            nextUnitNumber: NoneType,
            addressUnknown: bool,
            deceased: bool
          }
        ]

  `get_new_members`(unit: int = None) → JSONType

    Returns the unit list of new members (recent converts)

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            age: int,
            nameOrder: int,
            id: int,
            address: NoneType,
            birthDateDisplay: str,
            birthDateCalc: str,
            confirmationDateDisplay: NoneType,
            confirmationDateCalc: NoneType,
            gender: str,
            genderLabelShort: str,
            householdUuid: NoneType,
            name: str,
            calling: NoneType,
            status: str,
            textAddress: NoneType,
            unitName: str,
            locale: str
          }
        ]

  `get_out_of_unit_callings`(unit: int = None) → JSONType

    Returns the unit list of members with callings out of unit

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          LIVING_INSIDE: [
            {
              mrn: str,
              unitNumber: int,
              unitName: str,
              subOrgTypeId: int,
              subOrgId: int,
              customSubOrgName: NoneType,
              parentSubOrgId: int,
              positionTypeId: NoneType,
              positionId: int,
              standardPosition: bool,
              position: str,
              displaySequence: NoneType,
              activeCalender: str,
              activeDate: str,
              setApartCalender: str,
              setApartDate: str,
              leaderHomePhone: NoneType,
              leaderWorkPhone: NoneType,
              id: int,
              memberUnitNumber: int,
              memberUnitName: str,
              name: str,
              nameOrder: int,
              birthDate: str,
              birthDateSort: str,
              birthdDateDisplay: str,
              phone: str,
              age: NoneType,
              outOfUnit: bool,
              stake: bool,
              district: bool,
              organization: str,
              spokenName: str,
              gender: str,
              priesthood: NoneType,
              email: str,
              errors: {},
              sustainedDate: str,
              custom: bool,
              setApart: bool,
              subOrgType: str
            }
          ],
          LIVING_OUTSIDE: list
        }

  `get_quarterly_reports`(unit: int = None) → JSONType

    Returns all available unit quarterly reports

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          2014: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: NoneType,
                  unitName: NoneType,
                  priesthood: NoneType,
                  priesthoodCode: int,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: NoneType,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: bool,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2015: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: int,
                  unitName: str,
                  priesthood: NoneType,
                  priesthoodCode: int,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: NoneType,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: bool,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2016: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: int,
                  unitName: str,
                  priesthood: NoneType,
                  priesthoodCode: NoneType,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: int,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: NoneType,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2017: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: NoneType,
                  unitName: NoneType,
                  priesthood: NoneType,
                  priesthoodCode: NoneType,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: int,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: NoneType,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2018: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: list,
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2019: {
            4: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: int,
                  unitName: str,
                  priesthood: NoneType,
                  priesthoodCode: NoneType,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: int,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: NoneType,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          },
          2020: {
            1: {
              unitNumber: int,
              year: int,
              quarter: int,
              version: str,
              sections: [
                {
                  nameResourceId: str,
                  label: str,
                  rows: [
                    {
                      number: int,
                      nameResourceId: str,
                      label: str,
                      helpResourceId: str,
                      helpLabel: str,
                      lineReference: NoneType,
                      editable: bool,
                      calculated: bool,
                      propertyName: NoneType,
                      valueStr: NoneType,
                      actualValue: int,
                      updatedActualValue: NoneType,
                      actualListType: str,
                      potentialValue: int,
                      potentialListType: str,
                      year1Percent: str,
                      year5Percent: str,
                      childUnitRows: NoneType,
                      childUnitNumber: NoneType
                    }
                  ]
                }
              ],
              initialSubmitDate: str,
              lastSaveDate: str,
              dueDate: str,
              overdue: bool,
              converts: [
                {
                  name: str,
                  spokenName: str,
                  nameOrder: NoneType,
                  birthDate: str,
                  birthDateSort: str,
                  birthDaySort: str,
                  birthDayFormatted: str,
                  birthDateFormatted: str,
                  gender: str,
                  genderCode: int,
                  mrn: NoneType,
                  id: int,
                  email: NoneType,
                  householdEmail: NoneType,
                  phone: NoneType,
                  householdPhone: NoneType,
                  unitNumber: int,
                  unitName: str,
                  priesthood: NoneType,
                  priesthoodCode: NoneType,
                  priesthoodType: NoneType,
                  age: int,
                  actualAge: int,
                  actualAgeInMonths: int,
                  genderLabelShort: str,
                  visible: NoneType,
                  nonMember: bool,
                  outOfUnitMember: bool,
                  notAccountable: bool,
                  inAuthorizedUnit: bool,
                  attendMeetings: bool,
                  hasCalling: NoneType,
                  quarterlyReportUnitNumber: int,
                  formattedMrn: NoneType,
                  sustainedDate: NoneType,
                  setApart: bool,
                  accountable: bool
                }
              ],
              childUnits: NoneType,
              errors: {},
              submitted: bool
            }
          }
        }

  `get_seminary_and_institute_quarterly_attendance`(unit: int = None) → JSONType

    Returns all availabe seminary/institute quarterly attendance reports

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          2014: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2015: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2016: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2017: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2018: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2019: {
            4: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          },
          2020: {
            2: {
              unitNumber: int,
              unitName: str,
              unitAbbreviation: NoneType,
              year: int,
              quarter: int,
              yearQuarterDisplay: str,
              isStakeTotals: bool,
              sections: [
                {
                  id: int,
                  name: str,
                  comment: str,
                  rows: [
                    {
                      id: int,
                      name: str,
                      tooltip: str,
                      actual: int,
                      potential: int,
                      percent: int,
                      value: NoneType,
                      valueIsPercent: bool,
                      valueIsPotential: bool,
                      valueIsActual: bool
                    }
                  ],
                  subSections: list
                }
              ]
            }
          }
        }

  `get_unit_orginizations`(unit: int = None) → JSONType

    Returns the unit calling/leadership organization structure

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        [
          {
            unitNumber: int,
            unitType: int,
            subOrgId: int,
            parentSubOrgId: NoneType,
            parentName: str,
            customOrgName: NoneType,
            defaultOrgName: str,
            name: str,
            relatedSubOrgName: NoneType,
            priesthood: bool,
            gender: NoneType,
            adultClass: bool,
            filterOffices: list,
            canHaveMembers: bool,
            userCanEditCallings: bool,
            userCanEditClassAssignments: bool,
            userCanSeeBasicInfo: bool,
            multipleAllowed: bool,
            nameEditable: bool,
            resetable: bool,
            required: bool,
            customPositionsAllowed: bool,
            missionaries: bool,
            highCouncilOrDistrictCouncil: bool,
            room: NoneType,
            splitOrCombinedClassNotice: NoneType,
            canShowWithNoCallings: bool,
            children: list,
            displayOrder: int,
            instance: int,
            totalInstances: int,
            callings: [
              {
                unitNumber: int,
                unitName: NoneType,
                subOrgTypeId: int,
                subOrgId: int,
                newSubOrgId: NoneType,
                organization: str,
                parentOrganization: NoneType,
                otherAllowedSubOrgs: [
                  {
                    unitNumber: int,
                    subOrgId: int,
                    orgTypeIds: [
                      int
                    ],
                    defaultOrgTypeIds: [
                      int
                    ],
                    name: str,
                    children: list,
                    userCanEditCallings: bool,
                    isClass: bool,
                    isRealClass: bool,
                    isSplit: bool,
                    isCombined: bool,
                    gender: NoneType,
                    parentName: NoneType,
                    classGroup: NoneType,
                    firstTypeId: int
                  }
                ],
                positionTypeId: int,
                positionId: int,
                releasePositionIds: NoneType,
                position: str,
                positionDisplayOrder: int,
                memberId: int,
                mrn: NoneType,
                nameVerificationForMrn: NoneType,
                memberName: str,
                memberNameOrder: int,
                memberEmail: str,
                memberPhone: str,
                memberUnitName: str,
                memberUnitNumber: int,
                setApartByPersonId: int,
                setApartByPersonMrn: str,
                setApartByPersonName: str,
                ordainedByPersonId: int,
                ordainedByPersonMrn: str,
                ordainedByPersonName: str,
                activeDate: str,
                expectedEndDate: NoneType,
                releaseDate: NoneType,
                setApartDate: str,
                ordainDate: str,
                missionName: NoneType,
                missionUnitNumber: NoneType,
                missionaryHomeUnitName: NoneType,
                dualAuthUser: NoneType,
                dualAuthPass: NoneType,
                responsibilities: NoneType,
                contactWorkPhone: NoneType,
                contactMobilePhone: NoneType,
                contactEmail: str,
                contactMailingAddr: {
                  street1: str,
                  street2: NoneType,
                  city: str,
                  district: NoneType,
                  postalCode: str,
                  state: int,
                  country: int,
                  formattedLines: list,
                  standardized: NoneType,
                  geocodeToUnits: bool,
                  units: NoneType
                },
                autoReleasedPositionTypeIds: NoneType,
                editable: bool,
                contactInfoEditable: bool,
                allowMultiple: bool,
                custom: bool,
                setApart: bool,
                customNameChanged: bool,
                hidden: bool,
                allowNew: bool,
                userCanEdit: bool,
                userCanEditContactInfoOnly: bool,
                canHaveResponsibilities: bool,
                unpublished: bool,
                requiresSetApartDateAndPerson: bool,
                requiresBishopOrdination: bool,
                allowVacant: bool,
                requiresDualAuthorization: bool,
                pendingDelete: bool,
                hasContactInfo: bool,
                showUnitCard: bool,
                pendingCalling: bool,
                pendingDualAuth: bool,
                allowApprove: bool,
                previouslyOrdained: bool,
                userCannotEditPreviousOrdination: bool,
                approvalRequest: bool,
                sequence: int,
                errors: {},
                positionTypeEnum: str,
                vacant: bool
              }
            ],
            members: list,
            size: NoneType,
            firstOrgTypeId: int,
            firstOrgTypeName: NoneType,
            orgTypeIds: [
              int
            ],
            addableSubOrgTypes: NoneType,
            positionTypeIdsThatCanHaveResponsibilities: list,
            isSplit: bool,
            leadershipSubOrgId: NoneType,
            classes: NoneType,
            mergeableSubOrgTypeIds: list,
            classesCollapsed: bool,
            enableHT: bool,
            enableVT: bool,
            supportsAttendanceRoll: bool,
            firstOrgType: str,
            other: bool,
            classGroup: NoneType,
            hasCustomCallings: bool,
            hasAnyAllowMultiple: bool
          }
        ]

  `get_unit_statistics`(unit: int = None) → JSONType

    Returns the unit statistics

    Parameters

    unitint

      Number of the church unit for which to retrieve the report

    Returns

        {
          unitNumber: int,
          unitType: NoneType,
          unitName: NoneType,
          shortUnitName: NoneType,
          highPriests: int,
          highPriestsIndividualIds: [
            int
          ],
          elders: int,
          eldersIndividualIds: [
            int
          ],
          prospectiveElders: int,
          prospectiveEldersIndividualIds: [
            int
          ],
          women: int,
          womenIndividualIds: [
            int
          ],
          priests: int,
          priestsIndividualIds: [
            int
          ],
          teachers: int,
          teachersIndividualIds: [
            int
          ],
          deacons: int,
          deaconsIndividualIds: [
            int
          ],
          laurels: int,
          laurelsIndividualIds: [
            int
          ],
          miaMaids: int,
          miaMaidsIndividualIds: [
            int
          ],
          beehive: int,
          beehiveIndividualIds: [
            int
          ],
          youngWomen16_17: int,
          youngWomen16_17IndividualIds: [
            int
          ],
          youngWomen14_15: int,
          youngWomen14_15IndividualIds: [
            int
          ],
          youngWomen12_13: int,
          youngWomen12_13IndividualIds: [
            int
          ],
          children: int,
          childrenIndividualIds: [
            int
          ],
          infants: int,
          infantsIndividualIds: [
            int
          ],
          invalidBirthdate: int,
          invalidBirthdateIndividualIds: list,
          baptizedNotConfirmed: int,
          baptizedNotConfirmedIndividualIds: list,
          membersOfRecordAge9OrOlder: int,
          membersOfRecordAge9OrOlderIndividualIds: [
            int
          ],
          households: int,
          householdsIndividualIds: [
            int
          ],
          householdsWithoutMelchizedekPriesthoodHolder: int,
          householdsWithoutMelchizedekPriesthoodHolderIndividualIds: [
            int
          ],
          householdsWithYouth: int,
          householdsWithYouthIndividualIds: [
            int
          ],
          householdsWithChildren: int,
          householdsWithChildrenIndividualIds: [
            int
          ],
          householdsWithSingleParentAndYouthOrChildren: int,
          householdsWithSingleParentAndYouthOrChildrenIndividualIds: [
            int
          ],
          marriedAdults: int,
          marriedAdultsIndividualIds: [
            int
          ],
          singleAdults: int,
          singleAdultsIndividualIds: [
            int
          ],
          youngSingleAdults: int,
          youngSingleAdultsIndividualIds: [
            int
          ],
          adultMaleRecentConverts: int,
          adultMaleRecentConvertsIndividualIds: list,
          adultFemaleRecentConverts: int,
          adultFemaleRecentConvertsIndividualIds: list,
          youngMenRecentConverts: int,
          youngMenRecentConvertsIndividualIds: list,
          youngWomenRecentConverts: int,
          youngWomenRecentConvertsIndividualIds: list,
          childrenAge8to11RecentConverts: int,
          childrenAge8to11RecentConvertsIndividualIds: [
            int
          ],
          ordainedRecentConverts: int,
          ordainedRecentConvertsIndividualIds: list,
          unordainedRecentConverts: int,
          unordainedRecentConvertsIndividualIds: list,
          endowedWithRecommend: int,
          endowedWithRecommendIndividualIds: list,
          endowedWithoutRecommend: int,
          endowedWithoutRecommendIndividualIds: list,
          men: int,
          menIndividualIds: [
            int
          ],
          youngMenIndividualIds: [
            int
          ],
          youngWomenIndividualIds: [
            int
          ],
          totalMembersIndividualIds: [
            int
          ],
          individualsNotIncludedIndividualIds: [
            int
          ],
          adults: int,
          adultsIndividualIds: [
            int
          ],
          youngMen: int,
          youngWomen: int,
          recentConvertsIndividualIds: [
            int
          ],
          recentConvertsEligibleForOrdination: int,
          recentConvertsEligibleForOrdinationIndividualIds: list,
          endowedAdultsIndividualIds: list,
          individualsNotIncluded: int,
          recentConverts: int,
          endowedAdults: int,
          totalMembers: int
        }

  property `session`

    Returns the requests session being used by the API.

  property `user_details`

    Returns the details of the user logged into this session

    Returns

        {
          username: str,
          ldsAccountId: int,
          uuid: str,
          individualId: int,
          preferredName: str,
          preferredLanguage: str,
          country: str,
          member: bool,
          authorized: bool,
          homeUnits: [
            int
          ],
          parentUnits: [
            int
          ],
          templeUnits: [
            int
          ],
          templeNearest: [
            int
          ],
          proxyUser: bool,
          proxyUnit: bool,
          proxyEdit: bool,
          developer: bool
        }