openapi: 3.1.0 info: title: Aha! Account backups Capacity estimate values API version: 1.0.0 description: Complete API documentation for Aha! generated from actual test responses contact: name: Aha! Support url: https://www.aha.io/support servers: - url: https://{account-domain}.aha.io/api/v1 description: Aha! API Server variables: account-domain: description: Your Aha! account domain default: company security: - OAuth2: [] - ApiKeyAuth: [] - CookieAuth: [] tags: - name: Capacity estimate values paths: /api/v1/capacity_investments/{id}/estimate_values: post: summary: Create estimate values for a capacity investment description: 'Estimate value objects should include the following keys: `team_id`, `period_start`, and `total`. This endpoint uses an "upsert" flow, updating existing records, or creating new ones if they do not exist. Returns all updated and destroyed estimate values, including computed sums and ignored values.' tags: - Capacity estimate values parameters: - name: id in: path required: true schema: type: string description: Id identifier responses: '200': description: Successful operation headers: Content-Type: description: application/json; charset=utf-8 schema: type: string content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CapacityestimatevaluesPostResponse' example: updated: - id: '6776881149487632203' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149489311818' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149490125878' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149490529746' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149490943142' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149492175407' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149493726512' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149494705557' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false - id: '6776881149498133135' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149499236800' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false destroyed: [] security: - OAuth2: [] - ApiKeyAuth: [] - CookieAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CapacityestimatevaluesPostRequest' example: estimate_values: - team_id: 949295028 period_start: '2019-01-01' total: 5 - team_id: 949295028 period_start: '2019-01-01' total: 10 - team_id: 563889676 period_start: '2019-01-01' total: 15 - team_id: 563889676 period_start: '2019-01-01' total: 20 get: summary: List estimate values for a capacity investment description: null tags: - Capacity estimate values parameters: - name: id in: path required: true schema: type: string description: Id identifier - name: '{}' in: query required: false schema: type: string example: null responses: '200': description: Successful operation headers: Content-Type: description: application/json; charset=utf-8 schema: type: string content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CapacityestimatevaluesGetResponse' example: estimate_values: - id: '6776881149483568838' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149485225809' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149487362068' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149487778568' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149494637954' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false - id: '6776881149497124166' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149497859029' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149498218684' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149498683658' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149498909376' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false pagination: total_records: 10 total_pages: 1 current_page: 1 security: - OAuth2: [] - ApiKeyAuth: [] - CookieAuth: [] /api/v1/estimate_values/{id}: put: summary: Update an estimate value description: Returns all updated estimate values, including computed sums and ignored values. tags: - Capacity estimate values parameters: - name: id in: path required: true schema: type: string description: Id identifier responses: '200': description: Successful operation headers: Content-Type: description: application/json; charset=utf-8 schema: type: string content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CapacityestimatevaluesPutResponse' example: updated: - id: '6776881149487468817' team_id: 949295028 team_membership_id: null period_start: null total: 25.0 computed: true ignored: false - id: '6776881149490802007' team_id: null team_membership_id: null period_start: '2019-01-01' total: 35.0 computed: true ignored: false - id: '6776881149491123830' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149492562019' team_id: null team_membership_id: null period_start: null total: 60.0 computed: true ignored: false destroyed: [] security: - OAuth2: [] - ApiKeyAuth: [] - CookieAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CapacityestimatevaluesPostRequest' example: estimate_value: total: 20 delete: summary: Delete an estimate value description: Returns all updated and destroyed estimate values, including computed sums and ignored values. tags: - Capacity estimate values parameters: - name: id in: path required: true schema: type: string description: Id identifier responses: '200': description: Successful operation headers: Content-Type: description: application/json; charset=utf-8 schema: type: string content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CapacityestimatevaluesDeleteResponse' example: updated: - id: '6776881149491741642' team_id: null team_membership_id: null period_start: null total: 40.0 computed: true ignored: false - id: '6776881149493435663' team_id: null team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: true ignored: false - id: '6776881149496255620' team_id: 949295028 team_membership_id: null period_start: null total: 5.0 computed: true ignored: false destroyed: - id: '6776881149486253923' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false security: - OAuth2: [] - ApiKeyAuth: [] - CookieAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CapacityestimatevaluesPostRequest' example: {} components: schemas: CapacityestimatevaluesDeleteResponse: type: object properties: updated: type: array items: type: object properties: id: type: string example: '6776881149491741642' team_id: type: 'null' team_membership_id: type: 'null' period_start: type: 'null' total: type: number example: 40.0 computed: type: boolean example: true ignored: type: boolean example: false example: id: '6776881149491741642' team_id: null team_membership_id: null period_start: null total: 40.0 computed: true ignored: false example: - id: '6776881149491741642' team_id: null team_membership_id: null period_start: null total: 40.0 computed: true ignored: false - id: '6776881149493435663' team_id: null team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: true ignored: false - id: '6776881149496255620' team_id: 949295028 team_membership_id: null period_start: null total: 5.0 computed: true ignored: false destroyed: type: array items: type: object properties: id: type: string example: '6776881149486253923' team_id: type: integer example: 949295028 team_membership_id: type: 'null' period_start: type: string example: '2019-01-01' total: type: number example: 10.0 computed: type: boolean example: false ignored: type: boolean example: false example: id: '6776881149486253923' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false example: - id: '6776881149486253923' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false example: updated: - id: '6776881149491741642' team_id: null team_membership_id: null period_start: null total: 40.0 computed: true ignored: false - id: '6776881149493435663' team_id: null team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: true ignored: false - id: '6776881149496255620' team_id: 949295028 team_membership_id: null period_start: null total: 5.0 computed: true ignored: false destroyed: - id: '6776881149486253923' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false CapacityestimatevaluesGetResponse: type: object properties: estimate_values: type: array items: type: object properties: id: type: string example: '6776881149483568838' team_id: type: 'null' team_membership_id: type: 'null' period_start: type: string example: '2019-01-01' total: type: number example: 5.0 computed: type: boolean example: true ignored: type: boolean example: false example: id: '6776881149483568838' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false example: - id: '6776881149483568838' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149485225809' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149487362068' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149487778568' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149494637954' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false - id: '6776881149497124166' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149497859029' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149498218684' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149498683658' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149498909376' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false pagination: type: object properties: total_records: type: integer example: 10 total_pages: type: integer example: 1 current_page: type: integer example: 1 example: total_records: 10 total_pages: 1 current_page: 1 example: estimate_values: - id: '6776881149483568838' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149485225809' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149487362068' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149487778568' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149494637954' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false - id: '6776881149497124166' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149497859029' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149498218684' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149498683658' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149498909376' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false pagination: total_records: 10 total_pages: 1 current_page: 1 CapacityestimatevaluesPutResponse: type: object properties: updated: type: array items: type: object properties: id: type: string example: '6776881149487468817' team_id: type: integer example: 949295028 team_membership_id: type: 'null' period_start: type: 'null' total: type: number example: 25.0 computed: type: boolean example: true ignored: type: boolean example: false example: id: '6776881149487468817' team_id: 949295028 team_membership_id: null period_start: null total: 25.0 computed: true ignored: false example: - id: '6776881149487468817' team_id: 949295028 team_membership_id: null period_start: null total: 25.0 computed: true ignored: false - id: '6776881149490802007' team_id: null team_membership_id: null period_start: '2019-01-01' total: 35.0 computed: true ignored: false - id: '6776881149491123830' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149492562019' team_id: null team_membership_id: null period_start: null total: 60.0 computed: true ignored: false destroyed: type: array items: {} example: updated: - id: '6776881149487468817' team_id: 949295028 team_membership_id: null period_start: null total: 25.0 computed: true ignored: false - id: '6776881149490802007' team_id: null team_membership_id: null period_start: '2019-01-01' total: 35.0 computed: true ignored: false - id: '6776881149491123830' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149492562019' team_id: null team_membership_id: null period_start: null total: 60.0 computed: true ignored: false destroyed: [] CapacityestimatevaluesPostRequest: type: object properties: {} example: {} CapacityestimatevaluesPostResponse: type: object properties: updated: type: array items: type: object properties: id: type: string example: '6776881149487632203' team_id: type: integer example: 563889676 team_membership_id: type: 'null' period_start: type: string example: '2019-01-01' total: type: number example: 15.0 computed: type: boolean example: false ignored: type: boolean example: false example: id: '6776881149487632203' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false example: - id: '6776881149487632203' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149489311818' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149490125878' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149490529746' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149490943142' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149492175407' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149493726512' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149494705557' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false - id: '6776881149498133135' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149499236800' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false destroyed: type: array items: {} example: updated: - id: '6776881149487632203' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 15.0 computed: false ignored: false - id: '6776881149489311818' team_id: 563889676 team_membership_id: null period_start: null total: 35.0 computed: true ignored: false - id: '6776881149490125878' team_id: null team_membership_id: null period_start: null total: 50.0 computed: true ignored: false - id: '6776881149490529746' team_id: null team_membership_id: null period_start: '2019-01-01' total: 25.0 computed: true ignored: false - id: '6776881149490943142' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: false ignored: false - id: '6776881149492175407' team_id: null team_membership_id: null period_start: '2019-01-01' total: 5.0 computed: true ignored: false - id: '6776881149493726512' team_id: 563889676 team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: false ignored: false - id: '6776881149494705557' team_id: 949295028 team_membership_id: null period_start: null total: 15.0 computed: true ignored: false - id: '6776881149498133135' team_id: 949295028 team_membership_id: null period_start: '2019-01-01' total: 10.0 computed: false ignored: false - id: '6776881149499236800' team_id: null team_membership_id: null period_start: '2019-01-01' total: 20.0 computed: true ignored: false destroyed: [] securitySchemes: OAuth2: type: oauth2 description: OAuth2 authentication with bearer tokens flows: authorizationCode: authorizationUrl: https://{account-domain}.aha.io/oauth/authorize tokenUrl: https://{account-domain}.aha.io/oauth/token scopes: {} ApiKeyAuth: type: http scheme: bearer description: API key authentication using Bearer token in Authorization header. Generate API keys at https://secure.aha.io/settings/api_keys CookieAuth: type: apiKey in: cookie name: session description: Cookie-based authentication for web browser integration