swagger: '2.0' info: description: REST API for ChartHop version: V1.0.0 title: ChartHop access multiplier 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: multiplier paths: /v1/org/{orgId}/multiplier: get: tags: - multiplier summary: Find comp band multipliers in the organization operationId: findMultipliers 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 search as of required: false type: string format: date - name: from in: query description: Multiplier id to start paginating from required: false type: string - name: limit in: query description: Number of results to return required: false type: integer format: int32 - name: includeDeleted in: query description: Include deleted multipliers required: false type: boolean responses: '200': description: successful operation schema: $ref: '#/definitions/ResultsMultiplier' '400': description: bad request '401': description: not authorized '404': description: not found post: tags: - multiplier summary: Create a multiplier operationId: createMultiplier 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: Effective date of multiplier creation required: false type: string format: date - name: body in: body required: true schema: $ref: '#/definitions/CreateMultiplier' responses: '202': description: snapshot currently building '400': description: bad request '401': description: not authorized '404': description: not found /v1/org/{orgId}/multiplier/{multiplierId}: get: tags: - multiplier summary: Return a particular comp band multiplier by id on an effective date operationId: getMultiplierById consumes: - application/json produces: - application/json parameters: - name: orgId in: path description: Org identifier (either id or slug) required: true type: string - name: multiplierId in: path description: Comp band multiplier id required: true type: string - name: date in: query description: Date to search as of required: false type: string format: date responses: '200': description: successful operation schema: $ref: '#/definitions/Multiplier' '400': description: bad request '401': description: not authorized '404': description: not found patch: tags: - multiplier summary: Update a multiplier operationId: updateMultiplier consumes: - application/json produces: - application/json parameters: - name: orgId in: path description: Org identifier (either id or slug) required: true type: string - name: multiplierId in: path description: Multiplier id required: true type: string - name: date in: query description: Effective date of multiplier update required: false type: string format: date - name: body in: body required: true schema: $ref: '#/definitions/UpdateMultiplier' responses: '202': description: snapshot currently building '400': description: bad request '401': description: not authorized '404': description: not found delete: tags: - multiplier summary: Delete a multiplier operationId: deleteMultiplier consumes: - application/json produces: - application/json parameters: - name: orgId in: path description: Org identifier (either id or slug) required: true type: string - name: multiplierId in: path description: Multiplier id required: true type: string - name: date in: query description: Effective date of group update required: false type: string format: date responses: '202': description: snapshot currently building '400': description: bad request '401': description: not authorized '404': description: not found definitions: AccessAction: type: object required: - action properties: action: type: string fields: type: array uniqueItems: true items: type: string types: type: array uniqueItems: true items: type: string ResultsAccess: type: object required: - allowed properties: ids: type: array uniqueItems: true items: type: string example: 588f7ee98f138b19220041a7 allowed: type: array uniqueItems: true items: $ref: '#/definitions/AccessAction' ResultsMultiplier: type: object required: - data properties: data: type: array items: $ref: '#/definitions/Multiplier' next: type: string access: type: array items: $ref: '#/definitions/ResultsAccess' 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 Multiplier: type: object required: - id - orgId - label - value - expr properties: id: type: string description: globally unique id example: 588f7ee98f138b19220041a7 orgId: type: string description: parent organization id example: 588f7ee98f138b19220041a7 label: type: string description: human-readable name of multiplier example: Non-technical code: type: string value: type: number description: amount to multiply the initial value by example: '0.75' expr: type: string description: calculated expression to match against the job example: department!="Engineering" minItems: 0 maxItems: 1000 category: type: string description: tag to group multipliers together by example: Location createId: type: string description: created by user id 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' deleteId: type: string description: deleted by user id example: 588f7ee98f138b19220041a7 deleteBehalfId: type: string description: deleted on behalf of user id example: 588f7ee98f138b19220041a7 deleteAttribution: $ref: '#/definitions/Attribution' deleteAt: type: string description: deleted timestamp example: '2017-01-24T13:57:52Z' CreateMultiplier: type: object required: - label - value - expr properties: label: type: string description: human-readable name of multiplier example: Non-technical code: type: string value: type: number description: amount to multiply the initial value by example: '0.75' expr: type: string description: calculated expression to match against the job example: department!="Engineering" minItems: 0 maxItems: 1000 category: type: string description: tag to group multipliers together by example: Location UpdateMultiplier: type: object properties: label: type: string description: human-readable name of multiplier example: Non-technical code: type: string value: type: number description: amount to multiply the initial value by example: '0.75' expr: type: string description: calculated expression to match against the job example: department!="Engineering" minItems: 0 maxItems: 1000 category: type: string description: tag to group multipliers together by example: Location