Aurora Solar Proposals API

Customer-facing proposals, templates, and PDFs.

Business capability
Quote & Configuration Management BC-410.40

Operations 5

GET /tenants/{tenant_id}/proposal_templates List Proposal Templates #
GET /tenants/{tenant_id}/proposal_templates/{proposal_template_id} Retrieve Proposal Template #
GET /tenants/{tenant_id}/designs/{design_id}/proposals/default Retrieve Proposal #
POST /tenants/{tenant_id}/designs/{design_id}/proposals/default Create Proposal #
DELETE /tenants/{tenant_id}/designs/{design_id}/proposals/default Delete Proposal #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aurora-solar:aurora-solar-proposals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aurora-solar-proposals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sync Proposals API
  description: This Aurora Integration API allows authorized clients and 3rd parties to easily read, update, and create resources/objects with specific parameters within Aurora. You can find out more about Aurora Solar here.
  version: 2024.05.0
  contact:
    name: Aurora Solar Support
    email: support@aurorasolar.com
servers:
- url: https://api-sandbox.aurorasolar.com
  description: Sandbox Environment
security:
- bearerAuth: []
tags:
- name: Proposals
paths:
  /tenants/{tenant_id}/proposal_templates:
    get:
      tags:
      - Proposals
      summary: List Proposal Templates
      description: 'Returns a list of proposal templates


        ---


        The default proposal template will be the first template in the list followed by the rest in descending order based on enabled status and creation date.'
      operationId: listProposalTemplates
      parameters:
      - name: tenant_id
        in: path
        description: The ID of the tenant that the design is part of.
        required: true
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: Page to return, 1-indexed (default `1`)
        schema:
          type: integer
      - name: per_page
        in: query
        description: Number of items to return per page (default `50`, max `250`)
        schema:
          type: integer
      - name: enabled
        in: query
        description: Whether to return only proposal templates that are enabled
        schema:
          type: boolean
      - name: default
        in: query
        description: Whether to return only the default proposal templates
        schema:
          type: boolean
      - name: name
        in: query
        description: Returns only the proposal templates matching the name provided
        schema:
          type: string
      responses:
        '200':
          description: Proposal Templates successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  proposal_templates:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique ID identifying the proposal template.
                        name:
                          type: string
                          description: Name of the proposal template.
                          example: My first test proposal template
                        created_at:
                          type: string
                          format: date-time
                          description: The timestamp of when the proposal template was created in UTC.
                        updated_at:
                          type: string
                          format: date-time
                          description: The timestamp of when the proposal template was updated in UTC.
                        last_used:
                          type: string
                          format: date-time
                          description: The timestamp of when the last time the proposal template was used to generate a proposal in UTC.
                        enabled:
                          type: boolean
                          description: Whether or not the proposal template has been enabled for usage.
                        default:
                          type: boolean
                          description: Whether or not the proposal template is the default template used for generating proposals.
                        author:
                          type: string
                          description: The name of the organization which created the proposal template. This can be Aurora, the tenant, or a partner.
                        author_partner_id:
                          type: string
                          format: uuid
                          description: Unique ID identifying the partner which created the proposal template. If the template was not created by a partner, this will return null.
                        assigned_partner_ids:
                          type: array
                          description: List of partner ids assigned to the proposal template.
                          items:
                            type: string
                            format: uuid
                        all_partners_assigned:
                          type: boolean
                          description: Whether or not the proposal template is assigned to all partners.
                        partner_defaults:
                          type: array
                          description: List of partner ids who have the template set as their default
                          items:
                            type: string
                            format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: 'Expected UUID but received non-UUID value for the follow URL parameters: [:tenant_id]'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Invalid bearer token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: This endpoint is not provisioned for this key. To provision, please contact your Aurora account team.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: The project with id 84634864-3324-34af-fa00-1548796facbd could not be found
  /tenants/{tenant_id}/proposal_templates/{proposal_template_id}:
    get:
      tags:
      - Proposals
      summary: Retrieve Proposal Template
      description: Returns a proposal template
      operationId: retrieveProposalTemplate
      parameters:
      - name: tenant_id
        in: path
        description: The ID of the tenant that the proposal template is part of.
        required: true
        schema:
          type: string
          format: uuid
      - name: proposal_template_id
        in: path
        description: The ID of the proposal template itself.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Proposal Template successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique ID identifying the proposal template.
                  name:
                    type: string
                    description: Name of the proposal template.
                    example: My first test proposal template
                  created_at:
                    type: string
                    format: date-time
                    description: The timestamp of when the proposal template was created in UTC.
                  updated_at:
                    type: string
                    format: date-time
                    description: The timestamp of when the proposal template was updated in UTC.
                  last_used:
                    type: string
                    format: date-time
                    description: The timestamp of when the last time the proposal template was used to generate a proposal in UTC.
                  enabled:
                    type: boolean
                    description: Whether or not the proposal template has been enabled for usage.
                  default:
                    type: boolean
                    description: Whether or not the proposal template is the default template used for generating proposals.
                  author:
                    type: string
                    description: The name of the organization which created the proposal template. This can be Aurora, the tenant, or a partner.
                  author_partner_id:
                    type: string
                    format: uuid
                    description: Unique ID identifying the partner which created the proposal template. If the template was not created by a partner, this will return null.
                  assigned_partner_ids:
                    type: array
                    description: List of partner ids assigned to the proposal template.
                    items:
                      type: string
                      format: uuid
                  all_partners_assigned:
                    type: boolean
                    description: Whether or not the proposal template is assigned to all partners.
                  partner_defaults:
                    type: array
                    description: List of partner ids who have the template set as their default
                    items:
                      type: string
                      format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: 'Expected UUID but received non-UUID value for the follow URL parameters: [:tenant_id]'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Invalid bearer token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: This endpoint is not provisioned for this key. To provision, please contact your Aurora account team.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: The project with id 84634864-3324-34af-fa00-1548796facbd could not be found
  /tenants/{tenant_id}/designs/{design_id}/proposals/default:
    get:
      tags:
      - Proposals
      summary: Retrieve Proposal
      description: 'Retrieve the proposal for a given design.


        ---


        This action allows you to retrieve the details of the proposal for a given design.'
      operationId: retrieveProposal
      parameters:
      - name: tenant_id
        in: path
        description: The ID of the tenant that the design is part of.
        required: true
        schema:
          type: string
          format: uuid
      - name: design_id
        in: path
        description: The ID of the design to retrieve the default proposal for.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Design Default Proposal successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  proposal:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique ID identifying proposal within Aurora.
                      created_at:
                        type: string
                        format: date-time
                        description: The timestamp of when the proposal was created in UTC.
                      updated_at:
                        type: string
                        format: date-time
                        description: The timestamp of when the proposal was updated in UTC.
                      proposal_template_id:
                        type: string
                        format: uuid
                        description: Unique ID identifying proposal template within Aurora that the proposal is generated from.
                      proposal_link:
                        type: string
                        example: https://v2.aurorasolar.com/projects/ae98052f-9fed-40c9-a373-55f2aeaa6e87/designs/36a69994-6029-4835-8b1a-ab5fcb26bd18/document-proposal/9d7a162c-a287-4e0d-a026-5f3ea4821cfd
                        description: The url to access the proposal within Aurora web application.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: 'Expected UUID but received non-UUID value for the follow URL parameters: [:tenant_id]'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Invalid bearer token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: This endpoint is not provisioned for this key. To provision, please contact your Aurora account team.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: The project with id 84634864-3324-34af-fa00-1548796facbd could not be found
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Something went wrong
                    - message: Something else went wrong
                    - message: It's really not your day, is it?
    post:
      tags:
      - Proposals
      summary: Create Proposal
      description: 'Creates a proposal for a design based on a proposal template provided.


        ---


        [block:callout]

        {

        "type": "warning",

        "body": "If you are creating a proposal for a Partner-owned project, please ensure the proposal template used is assigned to that Partner."

        }

        [/block]

        [block:callout]

        {

        "type": "warning",

        "body": "Please ensure the proposal template you''re using to create a proposal has been enabled."

        }

        [/block]


        If a proposal template id is not provided, the proposal will be created from the default proposal template specified by the Administrator or Partner.'
      operationId: createProposal
      parameters:
      - name: tenant_id
        in: path
        description: The ID of the tenant that the design is part of.
        required: true
        schema:
          type: string
          format: uuid
      - name: design_id
        in: path
        description: The ID of the design to create a default proposal for.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                proposal:
                  type: object
                  description: Proposal fields to create from.
                  properties:
                    proposal_template_id:
                      type: string
                      maxLength: 255
                      description: Unique ID of proposal template id to generate proposal from.
                      example: YourId123
      responses:
        '200':
          description: Design Default Proposal successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  proposal:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique ID identifying proposal within Aurora.
                      created_at:
                        type: string
                        format: date-time
                        description: The timestamp of when the proposal was created in UTC.
                      updated_at:
                        type: string
                        format: date-time
                        description: The timestamp of when the proposal was updated in UTC.
                      proposal_template_id:
                        type: string
                        format: uuid
                        description: Unique ID identifying proposal template within Aurora that the proposal is generated from.
                      proposal_link:
                        type: string
                        example: https://v2.aurorasolar.com/projects/ae98052f-9fed-40c9-a373-55f2aeaa6e87/designs/36a69994-6029-4835-8b1a-ab5fcb26bd18/document-proposal/9d7a162c-a287-4e0d-a026-5f3ea4821cfd
                        description: The url to access the proposal within Aurora web application.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: 'Expected UUID but received non-UUID value for the follow URL parameters: [:tenant_id]'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Invalid bearer token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: This endpoint is not provisioned for this key. To provision, please contact your Aurora account team.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: The project with id 84634864-3324-34af-fa00-1548796facbd could not be found
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Something went wrong
                    - message: Something else went wrong
                    - message: It's really not your day, is it?
    delete:
      tags:
      - Proposals
      summary: Delete Proposal
      description: Deletes a design's proposal.
      operationId: deleteDefaultProposal
      parameters:
      - name: tenant_id
        in: path
        description: The ID of the tenant that the design is part of.
        required: true
        schema:
          type: string
          format: uuid
      - name: design_id
        in: path
        description: The ID of the design to delete the default proposal for.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Default Proposal successfully deleted.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: 'Expected UUID but received non-UUID value for the follow URL parameters: [:tenant_id]'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: Invalid bearer token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: This endpoint is not provisioned for this key. To provision, please contact your Aurora account team.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                allOf:
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: object
                        properties:
                          message:
                            type: string
                  required:
                  - errors
                - example:
                    errors:
                    - message: The project with id 84634864-3324-34af-fa00-1548796facbd could not be found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: header
x-provenance:
  method: harvested
  publisher: Aurora Solar
  source: https://docs.aurorasolar.com/openapi/aurora_sync_api_spec_oas.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)