Charthop export API

The export API from Charthop — 13 operation(s) for export.

OpenAPI Specification

charthop-export-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: REST API for ChartHop
  version: V1.0.0
  title: ChartHop access export API
  contact:
    name: ChartHop
    url: https://www.charthop.com
    email: support@charthop.com
host: localhost
schemes:
- https
- http
consumes:
- application/json
produces:
- application/json
tags:
- name: export
paths:
  /v1/org/{orgId}/export/csv/change:
    post:
      tags:
      - export
      summary: Export a changelog to CSV format
      operationId: exportCsvChanges
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/compensation-history:
    post:
      tags:
      - export
      summary: Export compensation history (one row per comp change, enriched with title/manager/department) to CSV format
      operationId: exportCsvCompensationHistory
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/fields:
    post:
      tags:
      - export
      summary: Export a CSV of custom fields
      operationId: exportCsvFields
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: Ids of fields to export (if null, all fields are returned)
        required: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
            example: 588f7ee98f138b19220041a7
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/scenario/{scenarioId}:
    post:
      tags:
      - export
      summary: Export a CSV changelog of a scenario
      operationId: exportCsvScenario
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: scenarioId
        in: path
        description: Scenario id
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/scenario/{scenarioId}/comments:
    post:
      tags:
      - export
      summary: Export a csv log of a scenario comments
      operationId: exportCsvScenarioComments
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: scenarioId
        in: path
        description: Scenario id
        required: true
        type: string
      - name: body
        in: body
        description: Export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/scenarios:
    post:
      tags:
      - export
      summary: Export the org's scenario list to CSV format
      operationId: exportCsvScenarios
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/snapshot:
    post:
      tags:
      - export
      summary: Export a snapshot of a current roster to CSV format
      operationId: exportCsvSnapshot
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/task/{reviewId}:
    post:
      tags:
      - export
      summary: Export tasks for a review to CSV format
      operationId: exportToCsvTasks
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: reviewId
        in: path
        description: review id
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/csv/users:
    post:
      tags:
      - export
      summary: Export users for a review to CSV format
      operationId: exportToCsvUsers
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/jsonl/snapshot:
    post:
      tags:
      - export
      summary: Export a snapshot of a current roster to JSONL format
      operationId: exportJsonlSnapshot
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/pdf/review/{assessmentId}:
    post:
      tags:
      - export
      summary: Export reviews in PDF format
      operationId: exportPdfReviews
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: assessmentId
        in: path
        description: Assessment id
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/powerpoint/org:
    post:
      tags:
      - export
      summary: Export org chart to Powerpoint
      operationId: exportOrgToPowerpoint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: date
        in: query
        description: date to export the data from
        required: false
        type: string
        format: date
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
  /v1/org/{orgId}/export/powerpoint/report/{reportId}:
    post:
      tags:
      - export
      summary: Export report to Powerpoint
      operationId: exportReportToPowerpoint
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: reportId
        in: path
        description: report id
        required: true
        type: string
      - name: body
        in: body
        description: export options
        required: true
        schema:
          type: object
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid parameters
        '401':
          description: not authorized
        '403':
          description: permission denied
definitions:
  Process:
    type: object
    required:
    - id
    - orgId
    - label
    - type
    - status
    - runUserId
    - createId
    - createAt
    - options
    properties:
      id:
        type: string
        description: globally unique id
        example: 588f7ee98f138b19220041a7
      orgId:
        type: string
        description: parent org id
        example: 588f7ee98f138b19220041a7
      label:
        type: string
        description: human-readable label that identifies this process
      type:
        type: string
        description: process type
      status:
        type: string
        description: current status of process
        enum:
        - PENDING
        - RUNNING
        - DONE
        - ERROR
      filePath:
        type: string
        description: data file path
      logPath:
        type: string
        description: data log path
      runUserId:
        type: string
        description: user id who is running the process
        example: 588f7ee98f138b19220041a7
      parentProcessId:
        type: string
        description: process id of parent process
        example: 588f7ee98f138b19220041a7
      createId:
        type: string
        description: created by user id (user who requested the process run)
        example: 588f7ee98f138b19220041a7
      createBehalfId:
        type: string
        description: created on behalf of user id
        example: 588f7ee98f138b19220041a7
      createAttribution:
        $ref: '#/definitions/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: '#/definitions/Attribution'
      updateAt:
        type: string
        description: last updated timestamp
        example: '2017-01-24T13:57:52Z'
      startAt:
        type: string
        description: started at timestamp
        example: '2017-01-24T13:57:52Z'
      endAt:
        type: string
        description: ended at timestamp
        example: '2017-01-24T13:57:52Z'
      message:
        type: string
        description: status or error message
      progress:
        type: number
        format: double
        description: percent progress so far
      internalError:
        type: string
        description: internal-only error message
      options:
        type: object
        description: options passed to the process
      results:
        type: object
        description: results summary for the process
        additionalProperties:
          type: object
      logDataList:
        type: array
        description: list of log data that occurred during running of this process
        items:
          $ref: '#/definitions/LogData'
      state:
        type: object
        description: process-specific state data
      summary:
        type: string
        description: human-readable, searchable summary of what this process did
      appId:
        type: string
        description: app id of the process
        example: 588f7ee98f138b19220041a7
      uuid:
        type: string
        description: unique ID of the process at queue time
        example: 84db3c6e-0877-4436-8af1-768c06b29586
  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
  LogData:
    type: object
    required:
    - level
    - at
    - data
    properties:
      level:
        type: string
        enum:
        - INFO
        - WARN
        - ERROR
      at:
        type: string
        description: created timestamp
        example: '2017-01-24T13:57:52Z'
      message:
        type: string
      data:
        type: object
        additionalProperties:
          type: object