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/