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

# Get the AWS CloudFormation quick-create link

> Returns a CloudFormation quick-create URL that creates the CostGraph read role and billing export in the customer's AWS account, with this organization's external id filled in. outputs maps each stack output to the AWS connect request field it fills. Pass automation=true to also create the automation role. When billing_account_id names an AWS account already connected in the tenant named by X-CostGraph-Tenant-ID, the link reuses that account's billing export, since AWS allows only two per account. Recommendations are enabled unless recommendations=false. Answers 503 when this deployment has no CloudFormation template configured.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /integrations/aws/setup-cloudformation
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: infracost
    x-group: Infracost
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /integrations/aws/setup-cloudformation:
    get:
      tags:
        - integrations
      summary: Get the AWS CloudFormation quick-create link
      description: >-
        Returns a CloudFormation quick-create URL that creates the CostGraph
        read role and billing export in the customer's AWS account, with this
        organization's external id filled in. outputs maps each stack output to
        the AWS connect request field it fills. Pass automation=true to also
        create the automation role. When billing_account_id names an AWS account
        already connected in the tenant named by X-CostGraph-Tenant-ID, the link
        reuses that account's billing export, since AWS allows only two per
        account. Recommendations are enabled unless recommendations=false.
        Answers 503 when this deployment has no CloudFormation template
        configured.
      parameters:
        - description: Also create the automation role
          name: automation
          in: query
          schema:
            type: boolean
        - description: Enable AWS savings recommendations (default true)
          name: recommendations
          in: query
          schema:
            type: boolean
        - description: Tenant whose connected accounts may be reused
          name: X-CostGraph-Tenant-ID
          in: header
          schema:
            type: string
        - description: >-
            AWS account the stack is launched in; when it is already connected,
            its existing billing export is reused
          name: billing_account_id
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/focus.setupCloudFormationResponse'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    focus.setupCloudFormationResponse:
      type: object
      properties:
        console:
          type: string
        external_id:
          type: string
        identity:
          type: string
        outputs:
          type: object
          additionalProperties:
            type: string
        url:
          type: string
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.