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