-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathemitwise-api-openapi.yml
More file actions
280 lines (279 loc) · 8.22 KB
/
Copy pathemitwise-api-openapi.yml
File metadata and controls
280 lines (279 loc) · 8.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
openapi: 3.0.3
info:
title: Emitwise API
version: v1
description: |
The Emitwise API allows customers to interact with the Emitwise carbon
accounting platform programmatically. The API exposes facilities, projects,
schema metadata, file uploads of activity data, and aggregated supplier
emissions data so customers can integrate Scope 1, 2, and 3 emissions
measurement and product carbon footprint (PCF) workflows into their own
systems.
Access requires an Emitwise customer account; new API keys are created from
the Company settings area of the dashboard and presented to the API as
bearer credentials. As of July 2025, Emitwise has been acquired by Green
Project Technologies; the API and developer portal remain live at
api.emitwise.com and docs.emitwise.com while the platform is integrated
into Green Project's broader decarbonization product.
contact:
name: Emitwise (Green Project Technologies)
url: https://docs.emitwise.com/
license:
name: Proprietary
servers:
- url: https://api.emitwise.com/v1
description: Production
tags:
- name: Facilities
description: Physical or virtual locations whose emissions are tracked.
- name: Projects
description: Sustainability initiatives that group emissions data.
- name: Schema
description: Activity data schema definitions.
- name: Files
description: Activity-data file uploads used to calculate emissions.
- name: Suppliers
description: Aggregated Scope 3 supplier emissions data.
security:
- bearerAuth: []
paths:
/facilities:
get:
tags: [Facilities]
summary: List Facilities
description: List all facilities (offices, factories, business units) tracked in the customer's Emitwise account.
operationId: listFacilities
responses:
'200':
description: A paginated list of facilities.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Facility'
/projects:
get:
tags: [Projects]
summary: List Projects
description: List all sustainability projects associated with the customer's organization.
operationId: listProjects
responses:
'200':
description: A list of projects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
/schema:
get:
tags: [Schema]
summary: Get Activity Data Schema
description: Retrieve the schema definition used to validate uploaded activity data files.
operationId: getSchema
responses:
'200':
description: The active schema definition.
content:
application/json:
schema:
$ref: '#/components/schemas/Schema'
/files:
post:
tags: [Files]
summary: Upload Activity Data File
description: Upload a tabular activity-data file (matching the active schema) so emissions can be calculated.
operationId: uploadFile
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The tabular activity-data file (CSV or similar).
facilityId:
type: string
description: Optional facility the file applies to.
projectId:
type: string
description: Optional project the file applies to.
responses:
'201':
description: File accepted for processing.
content:
application/json:
schema:
$ref: '#/components/schemas/File'
get:
tags: [Files]
summary: List Files
description: List previously uploaded activity-data files.
operationId: listFiles
responses:
'200':
description: A list of uploaded files.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/File'
/files/{fileId}:
get:
tags: [Files]
summary: Get File
description: Retrieve details and processing status for a previously uploaded file.
operationId: getFile
parameters:
- in: path
name: fileId
required: true
schema:
type: string
responses:
'200':
description: File details.
content:
application/json:
schema:
$ref: '#/components/schemas/File'
/suppliers/list:
post:
tags: [Suppliers]
summary: List Suppliers (Paginated)
description: Retrieve aggregated supplier emissions data with pagination and filtering. Suppliers are automatically identified from spend data uploaded by the customer.
operationId: listSuppliers
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
page:
type: integer
minimum: 1
pageSize:
type: integer
minimum: 1
maximum: 200
filters:
type: object
additionalProperties: true
responses:
'200':
description: A paginated supplier list with aggregated emissions.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Supplier'
page:
type: integer
pageSize:
type: integer
total:
type: integer
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Emitwise API key generated from Company settings, presented as a Bearer token.
schemas:
Facility:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
description: Physical or virtual classification (e.g. office, factory, business unit).
location:
type: string
country:
type: string
Project:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
status:
type: string
Schema:
type: object
description: Active schema definition for activity-data files.
properties:
version:
type: string
fields:
type: array
items:
type: object
properties:
name:
type: string
type:
type: string
required:
type: boolean
description:
type: string
File:
type: object
properties:
id:
type: string
filename:
type: string
status:
type: string
enum: [uploaded, processing, processed, failed]
uploadedAt:
type: string
format: date-time
facilityId:
type: string
nullable: true
projectId:
type: string
nullable: true
Supplier:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
totalSpend:
type: number
description: Total spend with this supplier across the reporting period.
currency:
type: string
emissions:
type: object
properties:
scope3:
type: number
description: Scope 3 supplier emissions in kgCO2e.
unit:
type: string
example: kgCO2e