Salesforce Net Zero Cloud Carbon Emissions API

Carbon emission record management

OpenAPI Specification

salesforce-net-zero-cloud-carbon-emissions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Net Zero Cloud REST Carbon Emissions API
  description: REST API for managing carbon emissions data, sustainability records, and environmental impact tracking within Salesforce Net Zero Cloud. Provides programmatic access to carbon accounting, ESG reporting, energy consumption, waste management, and supply chain emissions data.
  version: 59.0.0
  termsOfService: https://www.salesforce.com/company/legal/agreements/
  contact:
    name: Salesforce Developer Support
    url: https://developer.salesforce.com/
  license:
    name: Salesforce Master Subscription Agreement
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.my.salesforce.com/services/data/v59.0
  description: Salesforce Production Instance
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance identifier
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Carbon Emissions
  description: Carbon emission record management
paths:
  /sobjects/CarbonEmission:
    get:
      operationId: listCarbonEmissions
      summary: List Carbon Emission Records
      description: Retrieves a list of carbon emission records tracked in Net Zero Cloud, including scope 1, 2, and 3 emissions across all reporting periods.
      tags:
      - Carbon Emissions
      parameters:
      - name: scope
        in: query
        required: false
        description: Filter by emission scope (1, 2, or 3)
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
      - name: reportingYear
        in: query
        required: false
        description: Filter by reporting year (e.g., 2023)
        schema:
          type: integer
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: Successfully retrieved carbon emission records
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarbonEmissionListResponse'
        '401':
          description: Unauthorized
    post:
      operationId: createCarbonEmission
      summary: Create Carbon Emission Record
      description: Creates a new carbon emission record for tracking greenhouse gas emissions from a specific source or activity.
      tags:
      - Carbon Emissions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CarbonEmissionInput'
      responses:
        '201':
          description: Carbon emission record created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponse'
        '400':
          description: Invalid request
  /sobjects/CarbonEmission/{emissionId}:
    get:
      operationId: getCarbonEmission
      summary: Get Carbon Emission Record
      description: Retrieves details for a specific carbon emission record including scope, source, quantity, and reporting period.
      tags:
      - Carbon Emissions
      parameters:
      - name: emissionId
        in: path
        required: true
        description: Salesforce ID of the carbon emission record
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved carbon emission record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarbonEmission'
        '404':
          description: Record not found
    patch:
      operationId: updateCarbonEmission
      summary: Update Carbon Emission Record
      description: Updates an existing carbon emission record's data, such as correcting emission quantities or updating the reporting period.
      tags:
      - Carbon Emissions
      parameters:
      - name: emissionId
        in: path
        required: true
        description: Salesforce ID of the carbon emission record
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CarbonEmissionUpdateInput'
      responses:
        '204':
          description: Record updated successfully
        '404':
          description: Record not found
    delete:
      operationId: deleteCarbonEmission
      summary: Delete Carbon Emission Record
      description: Deletes a carbon emission record from the system.
      tags:
      - Carbon Emissions
      parameters:
      - name: emissionId
        in: path
        required: true
        description: Salesforce ID of the carbon emission record
        schema:
          type: string
      responses:
        '204':
          description: Record deleted successfully
        '404':
          description: Record not found
components:
  schemas:
    CreateResponse:
      type: object
      properties:
        id:
          type: string
        success:
          type: boolean
        errors:
          type: array
          items:
            type: string
    CarbonEmissionUpdateInput:
      type: object
      properties:
        QuantityMtCO2e:
          type: number
        Description:
          type: string
        ReportingPeriodStartDate:
          type: string
          format: date
        ReportingPeriodEndDate:
          type: string
          format: date
    CarbonEmissionListResponse:
      type: object
      properties:
        totalSize:
          type: integer
        done:
          type: boolean
        records:
          type: array
          items:
            $ref: '#/components/schemas/CarbonEmissionSummary'
    CarbonEmission:
      allOf:
      - $ref: '#/components/schemas/CarbonEmissionSummary'
      - type: object
        properties:
          Description:
            type: string
          FacilityId:
            type: string
          CalculationMethod:
            type: string
          EmissionFactorId:
            type: string
          CreatedDate:
            type: string
            format: date-time
          LastModifiedDate:
            type: string
            format: date-time
    CarbonEmissionInput:
      type: object
      required:
      - Scope
      - QuantityMtCO2e
      - ReportingYear
      properties:
        Scope:
          type: integer
          enum:
          - 1
          - 2
          - 3
        EmissionSource:
          type: string
        QuantityMtCO2e:
          type: number
        ReportingYear:
          type: integer
        ReportingPeriodStartDate:
          type: string
          format: date
        ReportingPeriodEndDate:
          type: string
          format: date
        Description:
          type: string
    CarbonEmissionSummary:
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
        Scope:
          type: integer
          enum:
          - 1
          - 2
          - 3
        EmissionSource:
          type: string
        QuantityMtCO2e:
          type: number
          description: Metric tons of CO2 equivalent
        ReportingYear:
          type: integer
        ReportingPeriodStartDate:
          type: string
          format: date
        ReportingPeriodEndDate:
          type: string
          format: date
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
          tokenUrl: https://login.salesforce.com/services/oauth2/token
          scopes:
            api: Access and manage your data
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Salesforce Net Zero Cloud API Developer Guide
  url: https://developer.salesforce.com/docs/atlas.en-us.netzero_api.meta/netzero_api/