---
title: "Return billing information for a customer"
method: GET
path: "/v1/customer/{customerId}/billing"
tags: ["billing"]
---

# Return billing information for a customer

`GET /v1/customer/{customerId}/billing`

## Path parameters

- `customerId` string, required

## Response `200`

successful operation

- Billing
  - `checkout` Checkout
    - `nextPaymentDate` string, date
    - `tax` integer
    - `total` integer
  - `customer` Customer, required
    - `id` string, required — unique id of customer
    - `name` string, required — name of customer
    - `email` string — email address for billing purposes
    - `billAddress` Address
      - `street1` string — street address, line 1
      - `street2` string — street address, line 2
      - `street3` string — street address, line 3
      - `city` string — city
      - `state` string — state
      - `country` string, required — country (two-digit ISO code)
      - `postal` string — postal code
      - `geo` Geopoint
        - `type` string, required — Type of point
        - `coordinates` number[], required — The longitude and latitude of the point
      - `approxGeo` Geopoint
        - `type` string, required — Type of point
        - `coordinates` number[], required — The longitude and latitude of the point
    - `industry` string — industry that customer is in
    - `source` 'ADP_MARKETPLACE' | 'SELF_SERVE' | 'SELF_SERVE_TEST' | 'SEQUOIA_ONE' | 'CONNECT' — source of customer signup
    - `status` 'ACTIVE' | 'INACTIVE' | 'TRIAL' | 'CHURN' | 'PAYMENT_ERROR', required — current status
    - `stripeCustomerId` string — stripe customer id
    - `salesforceAccountId` string — salesforce account id
    - `products` ProductItem[] — products that this customer has purchased
      - `productId` string, required
      - `stripePriceId` string, required
    - `trialProducts` TrialProduct[] — products this customer has temporary trial access to, each bounded by a date range
      - `productId` string, required — id of the product the customer is trialing
      - `startDate` string, date, required — first date the trial grants access (inclusive)
      - `endDate` string, date, required — last date the trial grants access (inclusive)
    - `restrictedFeatures` string[] — features that are restricted for the customer
    - `featureOptionOverrides` FeatureAccessOption[] — override feature options for the customer
      - `name` 'CONFIGURED_ROLES' | 'SMART_FIELDS' | 'APP_FIELD_MAPPERS' | 'MULTI_PAYROLL_INSTALLS', required — The name of the feature option tied to the feature access
      - `description` string — The description of the feature option
      - `type` 'LIMIT' | 'FULL_ACCESS', required — The feature option type
      - `limit` integer — The feature option limit
    - `disableAi` boolean — customer has opted out of all use of AI -- no AI features may be enabled on any of their orgs
    - `startDate` string, date — initial date of billing
    - `endDate` string, date — end of service date for churning customers -- on or after this date, service should be disabled
    - `nextInvoiceDate` string, date — date of next invoice
    - `orgCount` integer — number of orgs covered by this customer
    - `primaryHeadCount` integer — number of total headcount across all orgs
    - `secondaryHeadCount` integer — number of total headcount across all orgs
    - `tertiaryHeadCount` integer — number of total headcount across all orgs
    - `primaryHeadCountFilter` string — primary headcount filter - used for billing purposes
    - `secondaryHeadCountFilter` string — secondary headcount filter - used for billing purposes
    - `tertiaryHeadCountFilter` string — tertiary headcount filter - used for billing purposes
    - `arr` number — current ARR of the customer based on most recent invoice
    - `trialStartDate` string, date — date this customer begins their trial period
    - `trialEndDate` string, date — date this customer ends their trial period
    - `stripeSubscriptionSync` 'SYNC' | 'DELETE' — Stripe subscription settings
    - `createAt` string — created timestamp
    - `createId` string — created by
    - `createBehalfId` string — created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `updateAt` string — updated timestamp
    - `updateId` string — updated by
    - `updateBehalfId` string — last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `invoices` Invoice[], required
    - `number` string, required — a unique identifying string for invoices
    - `amount` number, required — current final amount due for the invoices
    - `hostedInvoiceUrl` string — URL for the hosted invoice page, which allows customers to view and pay an invoice
    - `invoicePdf` string — the link to download the PDF for the invoice
    - `status` 'PAID' | 'UNPAID' | 'VOID', required — one of PAID, UNPAID, or VOID
    - `createAt` string, required — created timestamp
  - `paymentInfo` PaymentInfo
    - `paymentType` 'CREDIT_CARD' | 'INVOICE', required — indicates how the customer has decided to pay; one of CREDIT_CARD, INVOICE
    - `creditCardEndDigits` string — if the customer has indicated they wish to pay by credit card, the last four digits of the credit card they are paying with. Null if the customer is paying by invoice.
    - `brand` string — if the customer has indicated they wish to pay by credit card, the brand of the credit card they are paying with. Null if the customer is paying by invoice.
  - `plan` Plan
    - `id` string, required — unique Stripe identifier for this plan
    - `name` string, required — human-readable nickname for this plan
    - `interval` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required — interval for billing on this plan
    - `intervalCount` integer, required — number of intervals, for example 3 for quarterly billing
    - `tiers` PlanTier[], required — pricing tiers, per employee per interval
      - `upTo` integer — headcount up to this level is charged at the below rate
      - `unitAmount` number, required — PEPM rate
    - `stripeProductId` string, required — stripe product id that this plan belongs to
  - `org` Org, required
    - `id` string, required — globally unique id
    - `customerId` string — customer for billing processing
    - `name` string, required — name of organization
    - `slug` string, required — unique slug of organization
    - `type` 'PRIVATE' | 'PUBLIC' | 'EDU' | 'GOV' | 'NONPROFIT' | 'DEMO' | 'TEST' | 'PORTFOLIO' — type of organization
    - `industry` string — industry
    - `estEmployees` integer — approximate number of employees
    - `estRevenue` integer — approximate amount of revenue
    - `foundedYear` string — year of founding
    - `address` Address
      - `street1` string — street address, line 1
      - `street2` string — street address, line 2
      - `street3` string — street address, line 3
      - `city` string — city
      - `state` string — state
      - `country` string, required — country (two-digit ISO code)
      - `postal` string — postal code
      - `geo` Geopoint
        - `type` string, required — Type of point
        - `coordinates` number[], required — The longitude and latitude of the point
      - `approxGeo` Geopoint
        - `type` string, required — Type of point
        - `coordinates` number[], required — The longitude and latitude of the point
    - `phone` string — company phone number in E.164 format
    - `email` string — primary contact email
    - `url` string, uri — website URL
    - `domains` OrgDomain[] — domains used by this org
      - `domain` string, required
      - `aliases` string[], required
    - `status` 'ACTIVE' | 'INACTIVE' | 'DISABLED' — current status of organization
    - `imagePath` string — path to full-sized profile image in storage
    - `currencies` string[] — types of currencies in use, with the first currency the primary currency
    - `locales` string[] — locales supported within the org based on user selection, with the first locale the primary locale (e.g., en_US, en_GB, fr_FR, fr_CA)
    - `dataResidency` 'GLOBAL' | 'US' | 'EU' — data residency of the org - the db cluster where this org's data resides
    - `stock` string — stock symbol
    - `timezone` string — timezone in use
    - `appTimes` string[] — approximate times of day in the org timezone for daily app syncs to run (if unset, syncs will run 2am-8am US Eastern Time)
    - `fiscalStart` integer — number of months into the calendar year that the fiscal year starts (1 = February, 2 = March)
    - `headJobId` string — head of the organization
    - `unassignedManagerJobId` string — Job ID that all jobs with missing manager report to in the organization
    - `portfolioParentOrgId` string — portfolio parent org ID
    - `startDate` string, date — start date of history
    - `options` OrgOptions, required
      - `costMultiplier` number — Blanket multiplier to apply to all headcount costs, to account for blanket costs such as taxes and benefits
      - `orgEngineIncrementalBackDays` integer — Org engine incremental back day option
      - `stockPriceRollingAverage` integer
      - `bannerMessageExpireDays` integer
      - `dashboardChangeDaysAhead` integer — How many days ahead to look for changes on home screen
      - `dashboardChangeDaysBack` integer — How many days back to look for changes on home screen
      - `dashboardChangeDaysAheadMembers` integer — How many days ahead to look for changes, for members only — i.e. set this to 0 to disallow regular people seeing in the future
      - `dashboardAnniversariesDaysBack` integer
      - `dashboardAnniversariesDaysAhead` integer
      - `maxDateYears` integer — The max number of years ahead shown in date inputs, defaults to 20 years
      - `dashboardGlobal` boolean — If you want employees to see all jobs regardless of location set this to true
      - `dashboardHidePeopleMoves` boolean
      - `dashboardHideOpenJobs` boolean
      - `dashboardRestrictOpenJobs` boolean
      - `dashboardHideAnniversaries` boolean
      - `dashboardHideWeeklyCalendar` boolean — Hides the weekly calendar widget on the home screen
      - `dashboardWeeklyCalendarIncludeWeekends` boolean — Includes weekends in the weekly calendar widget
      - `placesDecimal` integer
      - `placesMoney` integer
      - `placesPercent` integer
      - `placesPayYearly` integer
      - `placesPayHourly` integer
      - `placesVariableAmount` integer
      - `placesVariablePercent` integer
      - `disableCompReviewV2Emails` boolean
      - `disableDataAggregation` boolean
      - `disableDataImportTypes` boolean
      - `disableLiveQuery` boolean
      - `disableWelcomeEmail` boolean
      - `disableOrgExportLimit` boolean — Allows powerpoint exports of over 1000 jobs
      - `disableApproverScenarioEdits` boolean — Disables ability of approvers to modify scenario data
      - `enableActions` boolean
      - `enableAdp` boolean
      - `enableAzure` boolean
      - `enableBackwardsCompatibleCompBandRead` boolean — Backwards compatibility flags for bands UAC
      - `enableColumnCacheLogging` boolean
      - `enableColumnCacheInRedis` boolean
      - `enableTimeOffCacheInRedis` boolean
      - `enableStockGrantCacheInRedis` boolean
      - `enableMapForScenarios` boolean
      - `enablePositionEligibilityFilter` boolean — Enables the CQL eligibility filter input on Group Type position rows
      - `enableCompChangeCacheInRedis` boolean
      - `enableCompReviewV2LaunchFlag` boolean
      - `enableCompImpactDashboard` boolean — Enables the Impact Dashboard tab and settings in Comp Reviews
      - `enableExperimentalScreenshotLayoutChanges` boolean
      - `enableGoogle` boolean
      - `enableMicrosoft` boolean
      - `enableOkta` boolean
      - `enableOneLogin` boolean
      - `enablePassword` boolean
      - `enableStartingSalary` boolean — Enable starting salary configuration for comp bands
      - `enableOpenJobBandPricing` boolean — Price open (unfilled) jobs from their comp band into the cost field (default off)
      - `enableDynamicFields` boolean — Enable dynamic fields configuration for job codes
      - `enableDynamicJobDialog` boolean — Enable dynamic fields configuration in the job modal
      - `enableDynamicOrgChartCardHeight` boolean — Enables dynamic card height on the org chart to optimize layout based on card content
      - `linkedJobUpdateExcludedCategories` string[] — Field categories excluded from linked field updates on filled jobs. Defaults to compensation categories if null.
      - `jobDialogFilterJobCodeFieldIds` string[] — Ordered list of up to 3 fields to filter job codes by in the job dialog, defaults to department
      - `enablePerOrgAuth` boolean
      - `enableRickrollLogin` boolean
      - `enableSaml` boolean
      - `disableSamlLoginToken` boolean
      - `enableTemplatesRichTextEditorV2` boolean
      - `enableOrgEngineRequiredFields` boolean — Configures Org Engine to respect required fields
      - `enableLongLivedCache` boolean — Enables a managed service that, on API startup, primes those orgs' caches, for both column cache, as well as the primary org cache. These keys should also last for 24+ hours and therefore be always kept warm.
      - `grantValueDefault` boolean — If enabled, then by default grants are in value, not shares
      - `orgEnginePromoteCustomIdsAsTrueIds` boolean — This field promotes the alternate id to the true id and allows HRIS to be updated
      - `preventAtsEmailNotifications` boolean — Sync History V2 Option to prevent ATS notifications
      - `scenarioCols` string — The default set of comma separated columns to show in the scenario changes screen
      - `enablePowerpointScreenshot` boolean — Enables the powerpoint screenshot export feature, on by default
      - `enableOrgChartIndicators` boolean — Shows the +XX job sibling indicators on the org chart
      - `enableHideEquityCalculator` boolean — Hides the value calculator on the equity section of the profile
      - `enableTransformFieldMapper` boolean — Enables the ability to configure the One to One field mapper with a Charthop Default Value
      - `enableFullNamesTitlesLegacy` boolean — Shows full names in powerpoint exports
      - `disableSiblingIndicators` boolean — Disables the sibling indicators on the org chart
      - `enableGrantCustomization` boolean — Enables grant aliases in the financial settings
      - `enableScenarioChangesV2` boolean — Enables new scenario changes screen
      - `enableScenarioAuditLog` boolean — Enables the audit log tab for scenarios
      - `showErrorRows` boolean
      - `hideEquityValuation` boolean — Hides the company valuation component of the calculation in the Equity profile tab (stock price will still be shown)
      - `hideProfileCompensationVesting` boolean — Hides the vesting section of the compensation profile tab
      - `hideScenarioTotalRows` boolean — Hide total rows in scenario change summary tables
      - `generateApprovalRequestsForTimeOffImport` boolean
      - `recalculateDaysForTimeOffImport` boolean
      - `positionIdField` string — Name of the job field that holds the org's Position ID for display in pickers
      - `enableCompBandPrefetchByJobCode` boolean
      - `legacyManagerFieldVisibility` boolean
      - `restrictReports` boolean
      - `restrictScenarios` boolean
      - `restrictSensitiveFilters` boolean
      - `restrictVariableView` boolean
      - `restrictVestingView` boolean
      - `restrictPersonHistory` boolean
      - `restrictSelfEdit` boolean
      - `skipSyncNotify` boolean
      - `hideCompensationTab` boolean
      - `hideEquityTab` boolean
      - `hideTasksTab` boolean
      - `hideTimeOffTab` boolean
      - `hideProfileCurrencyConversion` boolean — Hides profile currency conversion on compensation tab
      - `enableCalendarExport` boolean
      - `enableChangeExport` boolean
      - `deidentifiedMinSampleSize` integer
      - `deidentifiedFieldIds` string[]
      - `enableAi` boolean — Enable AI features like chart analysis and review calibrations
      - `enableAiSummaries` boolean — Enable AI form response summaries
      - `enableAiChatButtons` boolean — Enables the AI Ask ChartHop chatbot feature via interaction buttons
      - `enableMobileAiVoice` boolean — Enables the AI Voice feature in ChartHop mobile
      - `limitAiChatButtonsUserIds` string[] — Limits the usage of the buttons to a set of User IDs
      - `enableAiChatAsk` boolean — Enables the open-ended AI Ask ChartHop chatbot feature
      - `enableAiHomePage` boolean — Enables the AI-centric home page
      - `limitAiChatbotUserIds` string[] — Limits the usage of the AI chatbot feature to a set of User IDs
      - `enableAiScenarioPlanning` boolean — Enables the AI scenario planning feature
      - `limitAiScenarioPlanningUserIds` string[] — Limits the usage of the AI chatbot scenario planning feature to a set of User IDs
      - `aiChatDisableStreaming` boolean — Disable streaming for ai chat messages
      - `enableAiTerminationGuardrail` boolean — Disable ability for AI to recommend terminations in scenarios
      - `aiChatAgentUserId` string — Which agent is used by default in chat, instead of the ChartHop AI
      - `enableAiAgents` boolean — Enable the use of AI agents
      - `enableAiForms` boolean — Enable the use of AI form completions
      - `enableAiActions` boolean — Enable the use of AI agentic actions
      - `enableAiChatWrite` boolean — Enable AI chat write tools (create, update, delete entities)
      - `enableDataExplorer` boolean — Enables the Data Explorer feature
      - `enableFinanceImpactDashboard` boolean — Enables the finance-oriented impact dashboard
      - `limitDataExplorerUserIds` string[] — Limits the usage of the Data Explorer to a set of User IDs
      - `limitInfiniteDataSheetGroupingUserIds` string[] — Limits the usage of the new Infinite Data Sheet with grouping to a set of User IDs
      - `enableUserSettingsV2` boolean
      - `enableCalendarScreen` boolean
      - `enableCompensationBands` boolean — Enables Comp bands V2 (on by default for Premium customers)
      - `enableCompBandsSetupSpreadsheet` boolean — Enables the new comp bands setup spreadsheet UI (AG Grid). Absent/false = legacy path.
      - `easyAppInstallConfigManageEnabled` boolean — Enables easy app install (on by default for self-serve & standard orgs)
      - `enableGeoip` boolean
      - `enableGreenhouseUpgrade` boolean — Lets org admins, not just ChartHop staff, move the Greenhouse install onto the new Greenhouse API
      - `enableNewHireManagement` boolean
      - `enableOutboundPayroll` boolean
      - `enableRefreshedReportsV2` boolean
      - `enableLanguageSwitching` boolean
      - `hideNextYearTabPolicyTimeOffDisplay` boolean
      - `enableInfiniteDataSheet` boolean — Enables infinite scrolling with server-side sorting and pagination in Data Sheet
      - `infiniteDataSheetPageSize` integer — Number of rows to load per page in infinite scrolling Data Sheet (default: 100)
      - `enableDataSheetGrouping` boolean — Enables grouping functionality in Data Sheet
      - `userTablePaginated` boolean — Enables server-side paginated user table with search, filter, and sort via findUsers
      - `enableTables` boolean
      - `enableTeamOrgChart` boolean — Enables groups with positions feature
      - `enableDepartedPersonAccessDirection` boolean
      - `enableForceChangeGroupingOrgCacheReload` boolean
      - `enableGroupTypes` boolean
      - `enablePreboarding` boolean — Enables preboarding features
      - `allowedIpsPasswordLogin` string[] — IP Allow-list for Password based logins
      - `jobDetailPanelFields` string[] — Customize which fields are displayed in the job details panel in the Org Chart and their order.
      - `notifyUserIds` string[] — Sends notification to org users when new Users are assigned
      - `orgEngineCustomIdCustomFieldNameList` string[] — This is an array of fields that an org can use to indicate that one or more fields should be used as alternate id
      - `highlightMenuPreferredFields` string[]
      - `impactGroupByExcludedFieldIds` string[] — Field IDs excluded from the Impact Dashboard Group By picker
      - `profileGroupTypeTagIds` string[] — The types of groups that should be shown as tags in the profile header, defaults to department and location
      - `pptThemes` object[]
      - `editJobFieldOrder` object — Allows ordering of fields within tabs of the edit job dialog
      - `profileCompensationChartFields` string[] — Controls comp fields show in profile tab
      - `orgMinDate` string — min Date for all DateInput across Org except Groups in format YYYY-MM-DD
      - `aboutEquityMessage` string — Message to show in place of the default About equity compensation... message on profile tab
      - `atsReqField` string — If an org has an ATS integration, use their atsReqField instead of greenhouseId
      - `bannerMessage` string
      - `bannerHeader` string
      - `brandColor` string — The org's primary brand color
      - `brandSecondaryColor` string — The org's secondary brand color
      - `brandLogo` string — Show brand logo in header of home page
      - `customSsoImage` string — Customizes the SSO button image on the login screen
      - `customSsoLabel` string — Customizes the SSO button label on the login screen
      - `dashboardAnnouncementMessage` string
      - `dashboardCalendarTypes` object — Comma-separated types of calendar events to show in milestones panel
      - `dashboardChangeTypes` object — Which change types to show on home screen and calendar, uses ChangeDao.ChangeType as enum
      - `dateFormat` string
      - `defaultNoTimeOffMessage` string — Message to show if no time off policies apply to the org member
      - `greenhouseDomain` string — Allows customization of greenhouse subdomain for XHOP app
      - `country` string
      - `language` string
      - `limitTeamOrgChartUserIds` string[] — A list of users ids that are allowed to see the team org chart when enableTeamOrgChart is true
      - `orgDefaultData` string — Controls what data field will be shown in the Visualize option on the Org Chart by default (default is department)
      - `loginRedirectUrl` string
      - `newHireOpenJobMatchingFieldName` string — Custom field for fallback open job matching in org engine
      - `restrictExportOrgChart` string — Prevent non-sensitive users to export company org chart
      - `restrictExportCsv` string — Prevent non-sensitive users to export company data in CSV files
      - `teamOrgChartTypes` string[] — A filter that can show/hide what toggle options are available on the team org chart, when null everything is shown
      - `timeOffDaysAhead` integer — The number of days ahead which PTO becomes org public. Anything outside of this range will be treated as effectively manager shared
      - `userSessionDuration` string
      - `userSessionInactiveDuration` string
      - `userInviteDuration` string
      - `turnoverFormula` string — Turnover rate calculation formula - 'monthlyEnd' for end-of-month sampling
      - `welcomeEmailButtonLabel` string
      - `welcomeEmailSubject` string
      - `customWelcomeMessage` string
      - `preboardingWelcomeEmailButtonLabel` string
      - `preboardingWelcomeEmailSubject` string
      - `preboardingCustomWelcomeHeader` string
      - `preboardingCustomWelcomeMessage` string
      - `orgDefaultFilter` string
      - `sheetDefaultFilter` string
      - `preboardingFilter` string
      - `onboardingFilter` string
      - `offboardingFilter` string
      - `preboardingColNames` string
      - `onboardingColNames` string
      - `offboardingColNames` string
      - `defaultMessageChannel` MessageChannelConfig
        - `channels` string[], required
        - `alwaysEmail` boolean, required
      - `allowCharthopMobileApp` boolean
      - `timeOffPolicyTypeOrder` string[] — The order in which time off policies should be sorted by type (types not included here are sorted at the end)
      - `enableFormRejections` boolean — Enables form rejections instead of request changes, for backwards compatiblity
      - `enableCalibration` boolean — Enables the calibration feature for performance reviews
      - `useStandardizedTitle` string — Whether to suggest or enforce standardized titles
      - `enableProfilePageV2` boolean — Enables the redesigned profile page
      - `enableHomeCustomLayout` boolean — Enables using a custom layout for the home page
      - `homeCustomLayout` Layout
        - `rows` LayoutRow[], required
          - `columns` LayoutColumn[], required
            - `blocks` Block[], required
              - …
          - `format` string, required
      - `enableSkipSignatureConfirmationEmail` boolean — Temporary option to turn on skipping emails for signatures, until we have a better solution for miller-cooper
      - `disableSignatureTitles` boolean — When set to true, do not include job titles in signatures
      - `enableHiddenRolesAndPolicies` boolean
      - `enableAlphaApps` boolean — Allows this org to access applications in alpha
      - `csvImportMaxNumRows` integer — The maximum number of rows for CSV imports
      - `enableGoals` boolean — Enable goal-setting features in the org
      - `disableAiMemory` boolean — Disable AI agent persistent memory in the org
      - `enableLegacyBands` boolean — Enable bands V1 feature in the org
      - `enableApprovalDelegates` boolean — Enable Approval Delegates feature in the org
      - `useImporterV3` boolean — Whether to use the v3 job importer
      - `useImporterV3ScenarioOnly` boolean — Whether to use the v3 job importer for scenario imports only
      - `logImportErrorsUsingJavaLogger` boolean — Whether the v3 job importer should log errors to the java logger in addition to the log file
      - `enableIdentitySyncLogging` boolean — Emit verbose identity sync deactivation diagnostics to the process log
      - `scenarioCostExpr` string — Cost calculation used for scenarios by default, if not set defaults to annualized cost with multiplier
      - `defaultCostBasis` 'ANNUALIZED' | 'PERIOD_TOTAL' — Default cost measurement basis for budgets when a budget does not set its own; if not set defaults to PERIOD_TOTAL
      - `scenarioCostLabel` string — Label to show for cost in scenarios, if not set defaults to 'Annual Cost'
      - `scenarioCostDescription` string — Description to show for cost in scenarios,
      - `disableAiKnowledgeBase` boolean — Global option to disable AI knowledge base usage (typically for AWS outages)
      - `qesFilter` string — filter expression evaluated on each signer for whether to use qualified electronic signature (if it evaluates to true for any signer, QES will be used)
      - `disableQes` boolean — disable QES usage while still using external vendor, purely for testing
      - `enableBudgets` boolean — enable budgets feature
      - `enableEndOfYearTimeOffBalanceDisplay` boolean — display end-of-year balance (roughly) on the time off profile page even for accrued policies
      - `timeOffCustomBalanceDescription` string — custom time off balance description (if blank, shows default message)
      - `csvImportReassignDirectReportsOnMove` boolean — Set the reassignDirectReportsOnMove import option (reassign a moved manager's reports to the target job)
      - `csvImportEnableRelaxedMode` boolean — Set the enableRelaxedMode import option (loosen create-date / missing-manager / depart-date-delete validations)
      - `defaultBackfillJobSensitivity` 'GLOBAL' | 'ORG' | 'SENSITIVE' | 'PERSONAL' | 'MANAGER' | 'HIGH' | 'PRIVATE' — Default sensitivity for backfill jobs (defaults to HIGH if not set)
      - `jobCodeMatchMaxCatalogSize` integer — Maximum number of job codes allowed for AI job-code matching (default: 1000)
    - `internalOptions` InternalOrgOptions
      - `adpOrganizationOID` string
      - `assessmentCount` integer
      - `dashboardGettingStartedHidden` boolean
      - `dashboardNeedHelpHidden` boolean
      - `enableUniversalSso` boolean
      - `sequoiaOrgId` string
      - `tosAgreement` boolean
      - `fileUploadLimit` integer
      - `maxFileUploadSize` integer
      - `lowPriorityReports` boolean
      - `isInitialDataSynced` boolean
      - `maxReportDatapoints` integer
      - `disableImportEvents` boolean — Whether to disable event notifications on imports -- should only be used temporarily in performance-critical initial imports
      - `useAlphaSlackApp` boolean — Use the alpha Slack app (a second real Slack app sharing the global 'slack' install) instead of the default for inbound hooks and outbound messages — ChartHop-staff only, for Slack-team app-review testing
      - `extraFields` object
    - `onboarding` boolean — current onboarding status of an organization, allowing clearing of org
    - `selfServeImporting` boolean — completion status of initial import for orgs signed up via self serve
    - `headCount` integer — number of total headcount currently in the org
    - `userCount` integer — number of non-ChartHop, non-app users in the org
    - `activeUserCount` integer — number of non-ChartHop, non-app users in the org active in the past month
    - `activeAt` string — last timestamp that any user was active in the org
    - `createId` string — created by user id
    - `createBehalfId` string — created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string — created timestamp
    - `updateId` string — last updated by user id
    - `updateBehalfId` string — last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `updateAt` string — last updated timestamp
    - `destroyAt` string — timestamp that the org is marked for data destruction
    - `destroyId` string — user who marked the org for data destruction
    - `destroyedAt` string — date at which this org was destroyed, can not be modified

## Other responses

- `400` — invalid data
- `401` — not authorized
- `403` — permission denied
- `404` — not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/revisions/33fc84a173ce/schema)
