Charthop org-config API

The org-config API from Charthop — 1 operation(s) for org-config.

Operations 3

GET /v1/org/{orgId}/config Return config for a given org #
POST /v1/org/{orgId}/config Create an org config if it doesn't exist #
PATCH /v1/org/{orgId}/config Update an existing org config #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/charthop-org-config-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

charthop-org-config-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: REST API for ChartHop
  version: V1.0.0
  title: ChartHop access Org Config API
  contact:
    name: ChartHop
    url: https://www.charthop.com
    email: support@charthop.com
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: org-config
paths:
  /v1/org/{orgId}/config:
    get:
      tags:
      - org-config
      summary: Return config for a given org
      operationId: getOrgConfig
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgConfig'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
        '500':
          description: internal server error
    post:
      tags:
      - org-config
      summary: Create an org config if it doesn't exist
      operationId: createOrgConfig
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        schema:
          type: string
      responses:
        '201':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgConfig'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
        '500':
          description: internal server error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrgConfig'
        description: Org config to create
        required: true
    patch:
      tags:
      - org-config
      summary: Update an existing org config
      operationId: updateOrgConfig
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        schema:
          type: string
      responses:
        '204':
          description: successful operation
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
        '500':
          description: internal server error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrgConfig'
        description: Sort data to update
        required: true
components:
  schemas:
    Attribution:
      type: object
      properties:
        principalUserId:
          type: string
          example: 588f7ee98f138b19220041a7
        agentUserIds:
          type: array
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        eventId:
          type: string
          example: 588f7ee98f138b19220041a7
        aiChatId:
          type: string
          example: 588f7ee98f138b19220041a7
        aiToolUseId:
          type: string
        channel:
          type: string
          enum:
          - WEB
          - MOBILE
          - SLACK
          - TEAMS
          - MCP
    CompensationBandsConfig:
      type: object
      required:
      - annualizedSalaries
      - hourlySalaries
      - hoursPerWeek
      - weeksPerYear
      - hasTargetSalary
      - hasLocationMultiplier
      - currencyRounding
      properties:
        annualizedSalaries:
          type: boolean
          description: whether annualized salaries are used
        annualizedSalariesType:
          type: string
          description: how annualized salaries are represented
        hourlySalaries:
          type: boolean
          description: whether hourly salaries are used
        hourlySalariesType:
          type: string
          description: how hourly salaries are represented
        hoursPerWeek:
          type: number
          description: how many hours per week to use when calculating comp bands
        weeksPerYear:
          type: number
          description: how many weeks per year to use when calculating comp bands
        hasTargetSalary:
          type: boolean
          description: target salary within a comp band
        targetSalaryType:
          type: string
          description: how target salaries are represented
        equityFormat:
          type: string
          description: equity format
        refreshEquityFormat:
          type: string
          description: refresh grant equity format
        variableBonusFormat:
          type: string
          description: variable bonus format
        tiersNotMappedToCodes:
          type: boolean
          description: whether or not the tiers are mapped to fields. after we migrate all the tiers to be mapped, this flag can be removed
        firstTier:
          type: string
          description: the org's first tier for their comp bands
        secondTier:
          type: string
          description: the org's second tier for their comp bands
        thirdTier:
          type: string
          description: the org's third tier for their comp bands
        hasLocationMultiplier:
          type: boolean
          description: whether the org's location data is used as multipliers
        jobLevelSource:
          type: string
          description: the source for the band job levels
        marketJobLevelSystem:
          type: string
          description: comparable market job level system
        currencyRounding:
          type: array
          description: currency rounding settings in the UI
          uniqueItems: true
          items:
            $ref: '#/components/schemas/Money'
        hasMigratedBands:
          type: boolean
          description: has migrated V1 bands
        startingSalaryConfig:
          description: Starting salary configuration for all comp bands in the org
          $ref: '#/components/schemas/StartingSalaryConfig'
    BuiltInCategoryMap:
      type: object
      required:
      - categoryId
      - fieldIds
      properties:
        categoryId:
          type: string
          description: id of the built-in category
          example: 588f7ee98f138b19220041a7
        fieldIds:
          type: array
          description: set of custom field ids that belongs to the built-in category
          uniqueItems: true
          items:
            type: string
            example: 588f7ee98f138b19220041a7
    StartingSalaryConfig:
      type: object
      required:
      - type
      - effectiveDate
      properties:
        type:
          type: string
          description: Starting salary calculation type
          enum:
          - BAND_MINIMUM
          - BAND_QUARTER
          - BAND_MIDPOINT
          - CUSTOM_PERCENTILE
        customPercentile:
          type: integer
          format: int32
          description: Custom percentile value (0-100) when type is CUSTOM_PERCENTILE
        effectiveDate:
          type: string
          format: date
          description: Effective date for this configuration
        includeEquityTarget:
          type: boolean
          description: Whether to include equity target in starting compensation
        includeVariableComp:
          type: boolean
          description: Whether to include variable compensation in starting compensation
    UpdateOrgConfig:
      type: object
      properties:
        hiddenFieldIds:
          type: array
          description: set of hidden field ids of an org
          uniqueItems: true
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        builtinCategoryMap:
          type: array
          description: set of maps of the custom fields that belongs to a built-in category
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInCategoryMap'
        builtinFieldConfig:
          type: array
          description: Org configuration for built-in fields
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInFieldConfig'
        compensationBandsConfig:
          description: Org configuration for compensation bands tiers, multipliers, and job levels
          $ref: '#/components/schemas/CompensationBandsConfig'
        smartCurrencyOptions:
          type: array
          description: Options for where to source a currency to use when currency is unknown. order specific
          example: PERSON_HOME_ADDRESS_COUNTRY
          items:
            $ref: '#/components/schemas/SmartCurrencyOption'
        smartCurrencyDefault:
          type: string
          description: The default currency to use when currency is unknown and there are no options set in smartCurrencyOptions
          example: USD
        requiredJobFields:
          type: array
          description: Org configuration for required job fields
          uniqueItems: true
          items:
            type: string
        scenarioApprovalChains:
          type: object
          description: Configures which approval chains to use with specific scenario types
          additionalProperties:
            type: string
            example: 588f7ee98f138b19220041a7
        isOpenJobRoleApprovalEnabled:
          type: boolean
          description: Whether to show open job approval on Open Job Profile page
        isNotifySubmitterPerStage:
          type: boolean
          description: Whether to notify the scenario submitter each time an approval stage completes
        jobCodeFieldIds:
          type: array
          description: The set of field IDs that job codes can be set up to auto-fill
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        grantConfiguration:
          type: array
          description: Org Grant Configuration
          uniqueItems: true
          items:
            $ref: '#/components/schemas/GrantAlias'
    Money:
      type: object
      required:
      - amount
      - currency
      properties:
        amount:
          type: number
        currency:
          type: string
        places:
          type: integer
          format: int32
    OrgConfig:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: globally unique id
          example: 588f7ee98f138b19220041a7
        orgId:
          type: string
          description: parent organization id
          example: 588f7ee98f138b19220041a7
        hiddenFieldIds:
          type: array
          description: set of hidden field ids of an org
          uniqueItems: true
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        builtinCategoryMap:
          type: array
          description: set of maps of the custom fields that belongs to a built-in category
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInCategoryMap'
        builtinFieldConfig:
          type: array
          description: Org configuration for built-in fields
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInFieldConfig'
        compensationBandsConfig:
          description: Org configuration for compensation bands tiers, multipliers, and job levels
          $ref: '#/components/schemas/CompensationBandsConfig'
        smartCurrencyOptions:
          type: array
          description: Options for where to source a currency to use when currency is unknown. order specific
          example: PERSON_HOME_ADDRESS_COUNTRY
          items:
            $ref: '#/components/schemas/SmartCurrencyOption'
        smartCurrencyDefault:
          type: string
          description: The default currency to use when currency is unknown and there are no options set in smartCurrencyOptions
          example: USD
        requiredJobFields:
          type: array
          description: Org configuration for required job fields
          uniqueItems: true
          items:
            type: string
        scenarioApprovalChains:
          type: object
          description: Configures which approval chains to use with specific scenario types
          additionalProperties:
            type: string
            example: 588f7ee98f138b19220041a7
        isOpenJobRoleApprovalEnabled:
          type: boolean
          description: Whether to show open job approval on Open Job Profile page
        isNotifySubmitterPerStage:
          type: boolean
          description: Whether to notify the scenario submitter each time an approval stage completes
        jobCodeFieldIds:
          type: array
          description: The set of field IDs that job codes can be set up to auto-fill
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        createId:
          type: string
          description: created by user id
          example: 588f7ee98f138b19220041a7
        createBehalfId:
          type: string
          description: created on behalf of user id
          example: 588f7ee98f138b19220041a7
        createAttribution:
          $ref: '#/components/schemas/Attribution'
        createAt:
          type: string
          description: created timestamp
          example: '2017-01-24T13:57:52Z'
        updateId:
          type: string
          description: last updated by user id
          example: 588f7ee98f138b19220041a7
        updateBehalfId:
          type: string
          description: last updated on behalf of user id
          example: 588f7ee98f138b19220041a7
        updateAttribution:
          $ref: '#/components/schemas/Attribution'
        updateAt:
          type: string
          description: last updated timestamp
          example: '2017-01-24T13:57:52Z'
        deleteId:
          type: string
          description: deleted by user id
          example: 588f7ee98f138b19220041a7
        deleteBehalfId:
          type: string
          description: deleted on behalf of user id
          example: 588f7ee98f138b19220041a7
        deleteAttribution:
          $ref: '#/components/schemas/Attribution'
        deleteAt:
          type: string
          description: deleted timestamp
          example: '2017-01-24T13:57:52Z'
        grantConfiguration:
          type: array
          description: Org Grant Configuration
          uniqueItems: true
          items:
            $ref: '#/components/schemas/GrantAlias'
    SmartCurrencyOption:
      type: object
      required:
      - name
      - enabled
      properties:
        name:
          type: string
          description: codename for the option
          enum:
          - PERSON_HOME_ADDRESS_COUNTRY
          - JOB_LOCATION_COUNTRY
          - JOB_CURRENCY
        enabled:
          type: boolean
          description: determines if this option should be used
    BuiltInFieldConfig:
      type: object
      required:
      - name
      - hidden
      properties:
        name:
          type: string
          description: reserved codename for the native field
        hidden:
          type: boolean
          description: hidden state of the native field (specific to org)
        places:
          type: integer
          format: int32
          description: decimal places to round native Money fields
    CreateOrgConfig:
      type: object
      required:
      - orgId
      properties:
        orgId:
          type: string
          description: parent organization id
          example: 588f7ee98f138b19220041a7
        hiddenFieldIds:
          type: array
          description: set of hidden field ids of an org
          uniqueItems: true
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        builtinCategoryMap:
          type: array
          description: set of maps of the custom fields that belongs to a built-in category
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInCategoryMap'
        builtinFieldConfig:
          type: array
          description: Org configuration for built-in fields
          uniqueItems: true
          items:
            $ref: '#/components/schemas/BuiltInFieldConfig'
        compensationBandsConfig:
          description: Org configuration for compensation bands tiers, multipliers, and job levels
          $ref: '#/components/schemas/CompensationBandsConfig'
        smartCurrencyOptions:
          type: array
          description: Options for where to source a currency to use when currency is unknown. order specific
          example: PERSON_HOME_ADDRESS_COUNTRY
          items:
            $ref: '#/components/schemas/SmartCurrencyOption'
        smartCurrencyDefault:
          type: string
          description: The default currency to use when currency is unknown and there are no options set in smartCurrencyOptions
          example: USD
        requiredJobFields:
          type: array
          description: Org configuration for required job fields
          uniqueItems: true
          items:
            type: string
        scenarioApprovalChains:
          type: object
          description: Configures which approval chains to use with specific scenario types
          additionalProperties:
            type: string
            example: 588f7ee98f138b19220041a7
        isOpenJobRoleApprovalEnabled:
          type: boolean
          description: Whether to show open job approval on Open Job Profile page
        isNotifySubmitterPerStage:
          type: boolean
          description: Whether to notify the scenario submitter each time an approval stage completes
        jobCodeFieldIds:
          type: array
          description: The set of field IDs that job codes can be set up to auto-fill
          items:
            type: string
            example: 588f7ee98f138b19220041a7
        grantConfiguration:
          type: array
          description: Org Grant Configuration
          uniqueItems: true
          items:
            $ref: '#/components/schemas/GrantAlias'
    GrantAlias:
      type: object
      required:
      - grantType
      - enabled
      properties:
        alias:
          type: string
        grantType:
          type: string
          enum:
          - ISO
          - NSO
          - RSU
          - SAR
          - PERFORMANCE_SHARES
          - PHANTOM_STOCK
          - RSA
        enabled:
          type: boolean