> ## Documentation Index
> Fetch the complete documentation index at: https://help.nops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create showback



## OpenAPI

````yaml /openapi.json post /v1/cost-allocation
openapi: 3.1.0
info:
  title: nOps Public API
  version: 1.0.0
  description: >-
    Programmatic access to nOps cost, budgets, cost allocation, Explorer
    dashboards, AI optimization, MAP manager, business unit economics, contract
    tracker, reports, recommendations, feed, scheduled prompts, and
    notifications. Authenticate with an API key (Bearer token). Available on
    Inform + Operate.
servers:
  - url: https://api.nops.io
    description: Production
security:
  - bearerApiKey: []
tags:
  - name: Recommendations
    description: Cost optimization recommendations.
  - name: Anomalies
    description: AWS cost anomaly detection.
  - name: Explorer
    description: Cost Explorer queries — summary, history, heatmap, and dimensions.
  - name: Budgets
    description: Budgets, planning grids, alerts, and exports.
  - name: Reports
    description: Saved reports — create, update, render, and send.
  - name: Feed
    description: Clara Feed runs and delivery history.
  - name: Scheduled prompts
    description: Scheduled Clara prompts and manual runs.
  - name: Notifications
    description: Schedule and manage notification deliveries.
  - name: Commitments
    description: Commitment inventory (reserved for future use).
  - name: Cost allocation
    description: Cost Allocation showbacks, rules, and spend analytics.
  - name: Explorer dashboards
    description: Explorer dashboard layouts and widgets.
  - name: AI optimization
    description: AI Optimization default dashboard and anomaly insights.
  - name: MAP Manager
    description: AWS Migration Acceleration Program (MAP) project tracking.
  - name: Business unit economics
    description: Business unit economics models, units, and portfolio summaries.
  - name: Contract tracker
    description: Enterprise contract tracking and burndown analytics.
paths:
  /v1/cost-allocation:
    post:
      tags:
        - Cost allocation
      summary: Create showback
      operationId: createCostAllocationShowback
      parameters:
        - schema:
            type: string
            maxLength: 64
            description: >-
              Unique key for safe retries on write requests (required, max 64
              characters).
          required: true
          name: Idempotency-Key
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 256
                allocationTagType:
                  type: string
                  enum:
                    - tags
                    - labels
                    - cost_allocation_tags
                valueDimension:
                  type: string
                  minLength: 1
                  maxLength: 256
                tagKeys:
                  type: array
                  items:
                    type: string
                    maxLength: 256
                  maxItems: 20
                  default: []
                extraValues:
                  type: array
                  items:
                    type: string
                    maxLength: 256
                  default: []
                baseFilters:
                  type: array
                  items:
                    type: object
                    properties:
                      dimension:
                        type: string
                      mode:
                        type: string
                        enum:
                          - include
                          - exclude
                      values:
                        type: array
                        items:
                          type: string
                      valueModes:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - include
                            - exclude
                      texts:
                        type: array
                        items:
                          type: object
                          properties:
                            mode:
                              type: string
                              enum:
                                - include
                                - exclude
                            text:
                              type: string
                              minLength: 1
                          required:
                            - mode
                            - text
                      textCombinator:
                        type: string
                        enum:
                          - and
                          - or
                      keyCombinator:
                        type: string
                        enum:
                          - and
                          - or
                      tagKeyOnly:
                        type: boolean
                    required:
                      - dimension
                      - mode
                      - values
                  default: []
                valueSource:
                  type: string
                  enum:
                    - rules
                    - dimension
                    - tag_keys
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        minLength: 1
                        maxLength: 256
                      showbackValue:
                        type: string
                        minLength: 1
                        maxLength: 256
                      filters:
                        type: array
                        items:
                          type: object
                          properties:
                            dimension:
                              type: string
                            mode:
                              type: string
                              enum:
                                - include
                                - exclude
                            values:
                              type: array
                              items:
                                type: string
                            valueModes:
                              type: object
                              additionalProperties:
                                type: string
                                enum:
                                  - include
                                  - exclude
                            texts:
                              type: array
                              items:
                                type: object
                                properties:
                                  mode:
                                    type: string
                                    enum:
                                      - include
                                      - exclude
                                  text:
                                    type: string
                                    minLength: 1
                                required:
                                  - mode
                                  - text
                            textCombinator:
                              type: string
                              enum:
                                - and
                                - or
                            keyCombinator:
                              type: string
                              enum:
                                - and
                                - or
                            tagKeyOnly:
                              type: boolean
                          required:
                            - dimension
                            - mode
                            - values
                        default: []
                      distributionByPercent:
                        type: boolean
                      percentageAllocationType:
                        type: string
                        enum:
                          - BY_SPEND
                          - CUSTOM_PERCENT
                          - CUSTOM_BY_SPEND
                          - EVENLY
                      costDistribution:
                        type: object
                        additionalProperties:
                          type: number
                          minimum: 0
                          maximum: 100
                      dimensionFilters:
                        type: array
                        items:
                          type: object
                          properties:
                            dimension:
                              type: string
                            mode:
                              type: string
                              enum:
                                - include
                                - exclude
                            values:
                              type: array
                              items:
                                type: string
                            valueModes:
                              type: object
                              additionalProperties:
                                type: string
                                enum:
                                  - include
                                  - exclude
                            texts:
                              type: array
                              items:
                                type: object
                                properties:
                                  mode:
                                    type: string
                                    enum:
                                      - include
                                      - exclude
                                  text:
                                    type: string
                                    minLength: 1
                                required:
                                  - mode
                                  - text
                            textCombinator:
                              type: string
                              enum:
                                - and
                                - or
                            keyCombinator:
                              type: string
                              enum:
                                - and
                                - or
                            tagKeyOnly:
                              type: boolean
                          required:
                            - dimension
                            - mode
                            - values
                      clearDimensionFilter:
                        type: boolean
                    required:
                      - name
                  default: []
              required:
                - name
                - valueSource
            example:
              name: Engineering
              valueSource: rules
              rules:
                - name: Production workloads
                  showbackValue: Production
                  filters: []
      responses:
        '200':
          description: Create showback
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: JSON object
                    additionalProperties: true
                required:
                  - data
              example:
                data:
                  showback:
                    id: 1
                    name: Engineering
                    active: true
                    allocationTagType: null
                    tagKeys: []
                    extraValues: []
                    hideValues: []
                    removedShowbackValues: []
                    baseFilterJson: null
                    isLocked: false
                    created: '2026-07-17T12:00:00.000Z'
                    modified: '2026-07-17T12:00:00.000Z'
                    ruleCount: 2
        '401':
          description: Unauthorized — invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
              example:
                error:
                  code: forbidden_scope
                  message: 'API key is missing required scope: budgets:write'
                  request_id: 550e8400-e29b-41d4-a716-446655440000
        '403':
          description: Forbidden — insufficient permissions or entitlement
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
              example:
                error:
                  code: forbidden_scope
                  message: 'API key is missing required scope: budgets:write'
                  request_id: 550e8400-e29b-41d4-a716-446655440000
      security:
        - bearerApiKey: []
components:
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
          required:
            - code
            - message
            - request_id
      required:
        - error
  securitySchemes:
    bearerApiKey:
      type: http
      scheme: bearer
      description: >-
        API key from Settings → Security → API Keys. Pass as `Authorization:
        Bearer YOUR_API_KEY`.

````