openapi: 3.1.0 info: description: "# Standards\n\n## Versioning\n\nThis API will be safely versioned using root path versioning, in the format `/v{major}`. For example, `/registry/v0/supplier`.\n\n### Compatibility\n\nWe won't make breaking changes to existing API services or endpoints for API versions higher than `v0`. If breaking changes are necessary, we'll release a new major version.\nWe may deprecate APIs that have been replaced by a newer version. When doing so, we will expect\nintegrated partners to manage a transition to new resources within the deprecation timeline of old ones.\n\nWe will make the following sort of changes we do not consider to be breaking:\n\n- Adding new endpoints\n- Adding optional query parameters to API endpoints\n- Adding new properties to existing API responses\n- Reordering properties in existing API responses\n\nIt is important that clients are built to be robust to these changes.\n\n## Pagination\n\nOur API is based on the [Relay](https://relay.dev/docs/tutorial/connections-pagination/) pagination spec. Paginated endpoints\nwill return a `PaginatedListResource` which contains:\n\n- `page_info` - Containing information regarding pagination cursors and the total number of entities.\n- `nodes` - Each node is a paginated entity.\n- `total_count` - The total size of the list across all pages.\n\n### Pagination Parameters\n\nPaginated endpoints also accepted a standard set of query parameters:\n\n- `last` - An integer number of items to retrieve **before** the item represented by the cursor passed in the `before` parameter. Defaults to 10 with a maximum value of 50.\n- `before` - An opaque cursor representing the first item in the previously requested page to select items ordered before it. Submit the previously requested page's `start_cursor` here when paginated backwards.\n- `first` - An integer number of items to retrieve **after** the item represented by the cursor passed in the `after` parameter. Defaults to 10 with a maximum value of 50.\n- `after` - An opaque cursor representing the last item in the previously requested page to select items ordered after it. Submit the previously requested page's `end_cursor` here when paginated forwards.\n\nFor example, querying `/registry/v0/beneficiaries` will return a `PaginatedListResource` of the first page of 10 items:\n\n```json\n{\n \"page_info\": {\n \"has_previous_page\": false,\n \"start_cursor\": ...,\n \"has_next_page\": true,\n \"end_cursor\": \"mpG5kcuoFBYtlH\",\n },\n \"nodes\": [{\n \"id\": \"org_12345iso678\",\n \"name\": \"My Org\",\n ...\n }],\n \"total_count\": 100\n}\n```\n\nThen querying `/registry/v0/beneficiaries?first=15&after=mpG5kcuoFBYtlH` will return a `PaginatedListResource` of the next 15 items.\n\n## Dates\n\nDatetime fields in the APIs conform to the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format in UTC. For example: `2024-01-22T11:56:48.520641Z`.\n\n## Country Codes\n\nCountries are identified in the APIs via [ISO 3166-1 Alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) codes. For example: `GBR` and `USA`.\n# Authentication\n\nMost API requests will need to authenticate against the Isometric API in two ways simultaneously:\n\n- By passing a **client secret** in the `X-Client-Secret` header to identify the system integrating with the API.\n- By passing an **access token** in the `Authorization` header to authenticate as a specific organization, in order to gain access to its private data.\n\n### Client Authentication\n\nEvery API call to Isometric must include a **client secret** identifying the client application.\n\nThis client secret is tied to a particular environment - sandbox or production.\n\nThe client secret should be submitted on every API request via the `X-Client-Secret` header. For example `X-Client-Secret: uPrO...wxAh`.\n\n### Organization Authentication\n\nIn addition, a large number of API requests will require an **access token** in order for the caller to identify themselves and act as a specific Organization.\n\nTo authenticate as an Organization you will need to submit a JWT bearer access token via the `Authorization` header. For example: `Authorization: Bearer eyJh...sw5c`.\nIf you are going to be acting on behalf of other Organizations, they will need to generate the access token and pass it securely to you.\nAccess tokens should be treated as highly sensitive, kept secret and stored accordingly.\n\nAccess tokens are scoped to a single Organization - so if you are acting on behalf of multiple particular organizations, you will need to submit the appropriate access token on each request.\n\n### Managing Credentials\n\nCredentials can be managed through Certify UI in the [Team settings](https://registry.isometric.com/account/team-settings) section. Access tokens will expire after 1 year from generation. When you are approaching expiry, a new token will need to be generated.\n\nBoth client secrets and access tokens can be created and invalidated through UI.\nClient secrets do not expire and do not need to be rotated.\nIf either secret becomes compromised, it should be invalidated through the UI.\n# Key Certify Concepts\n\nThis page defines concepts used in Certify, and the [Certify API](/api-reference/certify/certify-introduction), which are helpful to understand when submitting information for verification via Certify. For a broader understanding of Isometric's verification processes on the Isometric Registry, please refer to the [Isometric Standard](https://isometric.com/standard).\n\n## Resource visibility\n\n- Until resources are submitted as part of a GHG statement, they are visible only to members of your organization.\n- After statement submission, they are visible to the verifier assigned to the GHG statement.\n- Once credits have been issued, removals are added to the [public registry](https://registry.isometric.com), and associated resources are visible publicly, with the exception of source documents.\n- Sources uploaded in the Certify platform are kept private by default once published on the Isometric registry (file names will be displayed). Contact Isometric to update public source visibility. Sources [added via the API](/api-reference/certify/post-source) can be set `public` on submission.\n\n## Resources\n\nThe main resources used in Certify are sources, datapoints, components and removals.\n\n### Sources\n\n- Sources represent a piece of evidence for a particular datapoint used in carbon accounting calculations.\n- Source documents are private, and only shared with the verifier assigned to a related removal.\n- Other information associated with a source, such as its display name, is visible publicly once the removal is on the public registry.\n- Verifiers are not notified when new sources are added to datapoints in a submitted removal, but they will immediately have access to the source documentation. Please notify the Isometric Registry Operations team when sources are added on a verifier's request so that we can ensure that the verifier is aware.\n\n### Datapoints\n\n- Datapoints represent any value used in carbon accounting calculations.\n- When creating datapoints, sources should be referenced to provide evidence for the value used.\n- A standard deviation should be provided if the datapoint is to be included in the variance propagation method of uncertainty analysis.\n- All datapoints are considered statistically independent for the purpose of variance propagation, although if a datapoint is used twice within a removal calculation, this dependence is captured.\n\n### Components\n\n- Components represent physical activities whose CO₂e flux needs to be accounted for.\n- Components are created from [component blueprints](/user-guides/certify/component-blueprint-library) that contain sets of equations used to calculate a transfer of CO₂e into or out of the atmosphere.\n- A blueprint defines a set of inputs that are the datapoints to be used in the calculation. For instance, a transport emissions blueprints would ask for datapoints representing a distance, mass and carbon intensity.\n- When creating a component from a blueprint, the blueprint must be specified, as well as a list of datapoints for the expected blueprint inputs. Learn more about components in [Identifying Components](/user-guides/certify/identifying-components).\n\n### Removals\n\n- Removals represent a series of activities that result in CO₂e being removed from the atmosphere.\n- The carbon accounting of a removal typically contains sequestrations, counterfactuals and activities (emissions).\n- Removals are structured using a template, [defined in your LCA](/user-guides/certify/lca).\n- Templates are divided into component groups. For instance, a biochar template may contain a `Feedstock sourcing` group.\n- Groups can contain multiple components.\n- Components can also be partially attributed to removals, if the activity the component represents contributed to multiple removals.\n- The final uncertainty discounting is done on the removal level - the API will return the CO₂e removed with and without discounting.\n- See the [Create a removal](/user-guides/certify/removal) guide for more details.\n\n### Feedstock types\n\n- Many carbon removal methods involve a feedstock, for instance biomass feedstock in BiCRS or silicate rock in enhanced weathering.\n- Feedstock types are used to describe the feedstock used in a removal.\n- When creating a removal, a feedstock type can be optionally specified so that Isometric and verifiers can see which removals use which feedstocks.\n- This is important if different feedstocks are used in a single GHG statement.\n- See the [Add feedstock](/user-guides/certify/add-feedstock) guide for more details.\n" title: Isometric Certify Data Ingestion Beneficiaries Removals API version: v0 servers: - description: Sandbox Isometric MRV API url: https://api.sandbox.isometric.com/mrv/v0 - description: Production Isometric MRV API url: https://api.isometric.com/mrv/v0 tags: - name: Removals paths: /removals: get: operationId: get_removals_removals_get parameters: - in: query name: supplier_reference_id required: false schema: anyOf: - description: A string that must be unique for all resources created by a specific supplier. It can be used by a client to identify the correct objects in their system. maxLength: 100 minLength: 1 type: string - type: 'null' title: Supplier Reference Id - in: query name: last required: false schema: default: 10 description: An integer number of items to retrieve before the item represented by the cursor passed in the before parameter. Defaults to 10 with a maximum value of 50. exclusiveMinimum: 0 maximum: 50 title: Last type: integer - in: query name: before required: false schema: anyOf: - minLength: 1 type: string - type: 'null' description: An opaque cursor representing the first item in the previously requested page to select items ordered before it. Submit the previously requested page’s start_cursor here when paginated backwards. title: Before - in: query name: first required: false schema: default: 10 description: An integer number of items to retrieve after the item represented by the cursor passed in the after parameter. Defaults to 10 with a maximum value of 50. exclusiveMinimum: 0 maximum: 50 title: First type: integer - in: query name: after required: false schema: anyOf: - minLength: 1 type: string - type: 'null' description: An opaque cursor representing the last item in the previously requested page to select items ordered after it. Submit the previously requested page’s end_cursor here when paginated forwards. title: After - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedListResource_Removal_' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Get Removals tags: - Removals post: operationId: post_removal_removals_post parameters: - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRemovalRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Removal' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Post Removal tags: - Removals /removals/{id}: delete: description: 'This endpoint deletes a removal - this is irreversible and the removal cannot be recovered. It will return an error if the removal is not in DRAFT status.' operationId: delete_removal_removals__id__delete parameters: - in: path name: id required: true schema: $ref: '#/components/schemas/IsometricIDPathParam_GhgEntry_' - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string responses: '204': description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Delete Removal tags: - Removals get: operationId: get_removal_removals__id__get parameters: - in: path name: id required: true schema: $ref: '#/components/schemas/IsometricIDPathParam_GhgEntry_' - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Removal' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Get Removal tags: - Removals patch: description: Updates a removal in the Isometric system. The removal will be recalculated, if it is are not in an immutable state. operationId: patch_removal_removals__id__patch parameters: - in: path name: id required: true schema: $ref: '#/components/schemas/IsometricIDPathParam_GhgEntry_' - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchRemovalRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Removal' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Patch Removal tags: - Removals /removals/{id}/component_attributions: get: operationId: get_removal_components_removals__id__component_attributions_get parameters: - in: path name: id required: true schema: $ref: '#/components/schemas/IsometricIDPathParam_GhgEntry_' - in: query name: last required: false schema: default: 10 description: An integer number of items to retrieve before the item represented by the cursor passed in the before parameter. Defaults to 10 with a maximum value of 50. exclusiveMinimum: 0 maximum: 50 title: Last type: integer - in: query name: before required: false schema: anyOf: - minLength: 1 type: string - type: 'null' description: An opaque cursor representing the first item in the previously requested page to select items ordered before it. Submit the previously requested page’s start_cursor here when paginated backwards. title: Before - in: query name: first required: false schema: default: 10 description: An integer number of items to retrieve after the item represented by the cursor passed in the after parameter. Defaults to 10 with a maximum value of 50. exclusiveMinimum: 0 maximum: 50 title: First type: integer - in: query name: after required: false schema: anyOf: - minLength: 1 type: string - type: 'null' description: An opaque cursor representing the last item in the previously requested page to select items ordered after it. Submit the previously requested page’s end_cursor here when paginated forwards. title: After - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedListResource_ComponentAttribution_' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Get Removal Components tags: - Removals patch: description: Change component attributions for the removal. operationId: patch_removal_components_removals__id__component_attributions_patch parameters: - in: path name: id required: true schema: $ref: '#/components/schemas/IsometricIDPathParam_GhgEntry_' - description: A secret token identifying the client connecting to the API in: header name: x-client-secret required: true schema: description: A secret token identifying the client connecting to the API examples: - Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP title: Client secret type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchRemovalComponentAttributionsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Removal' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Patch Removal Components tags: - Removals components: schemas: Undefined: additionalProperties: false description: An explicit representation of an undefined value in the Isometric REST API. Used, for example, to distinguish between explicit null inputs that clear a property, and not provided inputs which leave the property as is. properties: __typename: const: Undefined default: Undefined description: Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned. title: Type name type: string title: Undefined type: object CreateComponentListInput: properties: __typename: const: CreateComponentListInput default: CreateComponentListInput description: Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned. title: Type name type: string datapoint_ids: description: The Isometric IDs of the datapoints that will be used to populate the value of this input items: example: dtp_1DVKHKS101S0Q61Q examples: - dtp_1DVKHKS101S0Q61Q - dtp_1DJN8P57VSBXASFX maxLength: 37 minLength: 20 type: string title: Datapoint Ids type: array input_key: description: Must match an input key in the component blueprint. maxLength: 100 title: Input Key type: string required: - input_key - datapoint_ids title: CreateComponentListInput type: object CreateRemovalStep: description: Nested type for the POST /removals endpoint to create a step within a removal properties: components: description: List of components that represent emissions, counterfactuals or sequestrations items: $ref: '#/components/schemas/CreateRemovalComponentLink' title: Components type: array process_step_key: description: The key of the process step that this model corresponds to title: Process Step Key type: string required: - process_step_key - components title: CreateRemovalStep type: object IsometricIDPathParam_GhgEntry_: $ref: '#/components/schemas/IsometricIDRequestParam_GhgEntry_' PatchRemovalComponentAttributionsRequest: properties: components_to_add: anyOf: - items: $ref: '#/components/schemas/ComponentToAttribute' type: array - $ref: '#/components/schemas/Undefined' default: __typename: Undefined description: Components to be attributed to Removal. title: Components To Add components_to_remove: anyOf: - items: example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 type: string type: array - $ref: '#/components/schemas/Undefined' default: __typename: Undefined description: Components to be fully removed from Removal. title: Components To Remove title: PatchRemovalComponentAttributionsRequest type: object Removal: properties: co2e_net_removed_kg: description: The CO₂e removed by this removal once uncertainty discounting has been applied title: Co2E Net Removed Kg type: number co2e_net_removed_standard_deviation_kg: anyOf: - type: number - type: 'null' description: The standard deviation of the CO₂e net removed and therefore the uncertainty discount applied to the removal title: Co2E Net Removed Standard Deviation Kg co2e_net_removed_without_discount_kg: description: The CO₂e removed by this removal before any uncertainty discounting has been applied title: Co2E Net Removed Without Discount Kg type: number completed_on: format: date title: Completed On type: string feedstock_type_id: anyOf: - example: ftt_1D7KZ1P761S0G7BN examples: - ftt_1D7KZ1P761S0G7BN - ftt_1CSRJN4HHSBXZ3TK maxLength: 37 minLength: 20 type: string - type: 'null' description: The feedstock type ID that this removal is associated with. title: Feedstock Type Id ghg_statement_id: anyOf: - example: ggs_1GDQJ99Z51S0DYW9 examples: - ggs_1GDQJ99Z51S0DYW9 - ggs_1FWVEQRWSSBXK3NB maxLength: 37 minLength: 20 type: string - type: 'null' description: The GHG statement ID that this removal is associated with. If null, the removal is in draft and has not been submitted for verification. title: Ghg Statement Id id: example: rmv_1EEM6NJXX1S0EXKD examples: - rmv_1EEM6NJXX1S0EXKD - rmv_1E3V4J2EWSBX5E82 maxLength: 37 minLength: 20 title: Id type: string started_on: format: date title: Started On type: string supplier_reference_id: anyOf: - description: A string that must be unique for all resources created by a specific supplier. It can be used by a client to identify the correct objects in their system. maxLength: 100 minLength: 1 type: string - type: 'null' title: Supplier Reference Id required: - id - supplier_reference_id - started_on - completed_on - co2e_net_removed_kg - co2e_net_removed_without_discount_kg - co2e_net_removed_standard_deviation_kg - ghg_statement_id - feedstock_type_id title: Removal type: object PageInfo: properties: end_cursor: anyOf: - type: string - type: 'null' title: End Cursor has_next_page: title: Has Next Page type: boolean has_previous_page: title: Has Previous Page type: boolean start_cursor: anyOf: - type: string - type: 'null' title: Start Cursor required: - has_previous_page - start_cursor - has_next_page - end_cursor title: PageInfo type: object AddComponentToRemoval: properties: attribution_factor_datapoint_id: anyOf: - example: dtp_1DVKHKS101S0Q61Q examples: - dtp_1DVKHKS101S0Q61Q - dtp_1DJN8P57VSBXASFX maxLength: 37 minLength: 20 type: string - type: 'null' description: A scalar between 0 and 1 for the fraction of the CO2e flux of the component that is to be attributed to this removal. A null input will default to 1. title: Attribution Factor Datapoint Id component_id: description: ID for component to add to Removal. example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 title: Component Id type: string process_step_key: anyOf: - maxLength: 100 type: string - type: 'null' deprecated: true description: 'Deprecated, please use removal_template_group_id instead. Process step key matching the module the component should be added to.' title: Process Step Key removal_template_group_id: anyOf: - example: rtg_1EGQ9DZXZ1S05S28 examples: - rtg_1EGQ9DZXZ1S05S28 - rtg_1CWEFDQ7GSBX1X5C maxLength: 37 minLength: 20 type: string - type: 'null' description: Which group the component should be added to, based on the removal's template structure. title: Removal Template Group Id required: - component_id - attribution_factor_datapoint_id title: AddComponentToRemoval type: object PaginatedListResource_Removal_: properties: nodes: items: $ref: '#/components/schemas/Removal' title: Nodes type: array page_info: $ref: '#/components/schemas/PageInfo' total_count: title: Total Count type: integer required: - nodes - total_count - page_info title: PaginatedListResource[Removal] type: object ComponentAttribution: properties: attribution_factor: examples: - 1.0 - 0.654 exclusiveMinimum: 0.0 maximum: 1.0 title: Attribution Factor type: number component_group_key: title: Component Group Key type: string component_id: example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 title: Component Id type: string id: example: rvc_1EADHFQHM1S0TVMN examples: - rvc_1EADHFQHM1S0TVMN - rvc_1EB9G4FR7SBX795D maxLength: 37 minLength: 20 title: Id type: string removal_id: example: rmv_1EEM6NJXX1S0EXKD examples: - rmv_1EEM6NJXX1S0EXKD - rmv_1E3V4J2EWSBX5E82 maxLength: 37 minLength: 20 title: Removal Id type: string removal_template_component_id: anyOf: - example: rtc_1DAA58EDM1S0AMPN examples: - rtc_1DAA58EDM1S0AMPN - rtc_1CQAKRCVQSBXKKTM maxLength: 37 minLength: 20 type: string - type: 'null' description: The ID of the removal template component, if this component was created via a template. May be null if the component was created directly, or if the template has been deleted. title: Removal Template Component Id required: - id - removal_id - component_id - component_group_key - removal_template_component_id - attribution_factor title: ComponentAttribution type: object RemovalTemplateComponentInputs: properties: inputs: description: A list of values for component inputs. Inputs and their keys can be found on the removal template at the `GET /projects/{project_id}/removal_templates` endpoint. items: oneOf: - $ref: '#/components/schemas/CreateComponentListInput' - $ref: '#/components/schemas/CreateComponentScalarInput' title: Inputs type: array removal_template_component_id: description: The ID of the removal template component to provide example: rtc_1DAA58EDM1S0AMPN examples: - rtc_1DAA58EDM1S0AMPN - rtc_1CQAKRCVQSBXKKTM maxLength: 37 minLength: 20 title: Removal Template Component Id type: string required: - removal_template_component_id - inputs title: RemovalTemplateComponentInputs type: object PatchRemovalRequest: properties: add_components: anyOf: - items: $ref: '#/components/schemas/AddComponentToRemoval' type: array - $ref: '#/components/schemas/Undefined' default: __typename: Undefined deprecated: true description: 'Deprecated, please use `PATCH /removal/{id}/component_attributions` instead. Components to be attributed to the removal.' title: Add Components completed_on: anyOf: - description: Date in ISO format (YYYY-MM-DD) format: date type: string - type: 'null' description: The date by which activities related to this removal finished. title: Completed On delete_component_ids: anyOf: - items: example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 type: string type: array - $ref: '#/components/schemas/Undefined' default: __typename: Undefined deprecated: true description: 'Deprecated, please use `PATCH /removal/{id}/component_attributions` instead. IDs for components to delete from the removal.' title: Delete Component Ids feedstock_type_id: anyOf: - example: ftt_1D7KZ1P761S0G7BN examples: - ftt_1D7KZ1P761S0G7BN - ftt_1CSRJN4HHSBXZ3TK maxLength: 37 minLength: 20 type: string - $ref: '#/components/schemas/Undefined' default: __typename: Undefined description: ID of the feedstock type for the removal. title: Feedstock Type Id started_on: anyOf: - description: Date in ISO format (YYYY-MM-DD) format: date type: string - type: 'null' description: The date at which activities related to this removal started. title: Started On title: PatchRemovalRequest type: object CreateRemovalComponentLink: properties: attribution_factor_datapoint_id: anyOf: - example: dtp_1DVKHKS101S0Q61Q examples: - dtp_1DVKHKS101S0Q61Q - dtp_1DJN8P57VSBXASFX maxLength: 37 minLength: 20 type: string - type: 'null' description: A scalar between 0 and 1 for the fraction of the CO2e flux of the component that is to be attributed to this removal. A null input will default to 1. title: Attribution Factor Datapoint Id component_id: description: Isometric ID of the component to include within this removal step example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 title: Component Id type: string required: - component_id title: CreateRemovalComponentLink type: object CreateRemovalRequest: description: Input to the POST /removals endpoint that creates a single removal properties: completed_on: description: The date by which activities related to this removal finished. format: date title: Completed On type: string feedstock_type_id: anyOf: - example: ftt_1D7KZ1P761S0G7BN examples: - ftt_1D7KZ1P761S0G7BN - ftt_1CSRJN4HHSBXZ3TK maxLength: 37 minLength: 20 type: string - type: 'null' description: The ID of the feedstock type that will be used for this removal. title: Feedstock Type Id process_key: anyOf: - type: string - type: 'null' deprecated: true description: 'Deprecated, please use the `removal_template_id` field instead. The key of the process to be used. See the processes endpoint for the processes available.' title: Process Key project_id: description: The ID of the project to associate this removal to. example: prj_1CTWZQGKE1S0VAXA examples: - prj_1CTWZQGKE1S0VAXA - prj_1E0QTWB22SBX34D1 maxLength: 37 minLength: 20 title: Project Id type: string removal_template_components: description: '' items: $ref: '#/components/schemas/RemovalTemplateComponentInputs' title: Removal Template Components type: array removal_template_id: anyOf: - example: rvt_1EVC8RZFE1S0BAT6 examples: - rvt_1EVC8RZFE1S0BAT6 - rvt_1ECDZGE2DSBX88EX maxLength: 37 minLength: 20 type: string - type: 'null' description: 'This field will become required once the deprecated `process_key` field is removed. ID of the removal template to instantiate the removal from.' title: Removal Template Id started_on: description: The date at which activities related to this removal started. format: date title: Started On type: string steps: anyOf: - items: $ref: '#/components/schemas/CreateRemovalStep' type: array - type: 'null' deprecated: true description: 'Deprecated, please use the `removal_template_components` field instead. A list of steps to be included in the removal. The steps must match the steps defined in the process key. See the /processes endpoint to find which steps must be used.' title: Steps supplier_reference_id: description: A string that must be unique for all resources created by a specific supplier. It can be used by a client to identify the correct objects in their system. maxLength: 100 minLength: 1 title: Supplier Reference Id type: string required: - supplier_reference_id - started_on - completed_on - project_id title: CreateRemovalRequest type: object ValidationError: properties: ctx: title: Context type: object input: title: Input loc: items: anyOf: - type: string - type: integer title: Location type: array msg: title: Message type: string type: title: Error Type type: string required: - loc - msg - type title: ValidationError type: object HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' title: Detail type: array title: HTTPValidationError type: object ComponentToAttribute: properties: attribution_factor: default: 1.0 description: A float in range of (0, 1] for the fraction of the CO2e flux of the component that is to be attributed to this removal. 1.0 means all of the component should be attributed. If not supplied, defaults to 1.0. exclusiveMinimum: 0.0 maximum: 1.0 title: Attribution Factor type: number component_group_key: description: 'Key of a component group that this component should be applied to in the removal. The keys of the component groups are the same as the keys of removal template component groups they have been used to create them and they are consistent between projects using the same protocol.' examples: - bio-oil-storage - energy-use - dac-process title: Component Group Key type: string component_id: description: ID of the component to add to the removal. example: cmp_1EP2SB7MZ1S036PY examples: - cmp_1EP2SB7MZ1S036PY - cmp_1EHK4R6QJSBXFC5N maxLength: 37 minLength: 20 title: Component Id type: string required: - component_id - component_group_key title: ComponentToAttribute type: object IsometricIDRequestParam_GhgEntry_: example: rmv_1EEM6NJXX1S0EXKD examples: - rmv_1EEM6NJXX1S0EXKD - rmv_1E3V4J2EWSBX5E82 maxLength: 37 minLength: 20 type: string PaginatedListResource_ComponentAttribution_: properties: nodes: items: $ref: '#/components/schemas/ComponentAttribution' title: Nodes type: array page_info: $ref: '#/components/schemas/PageInfo' total_count: title: Total Count type: integer required: - nodes - total_count - page_info title: PaginatedListResource[ComponentAttribution] type: object CreateComponentScalarInput: properties: __typename: const: CreateComponentScalarInput default: CreateComponentScalarInput description: Contains the name of the model (formally, OpenAPI Schema Object). Used to determine the type of data, for example when two different types are unioned. title: Type name type: string datapoint_id: description: The Isometric ID of the datapoint that will be used to populate the value of this input example: dtp_1DVKHKS101S0Q61Q examples: - dtp_1DVKHKS101S0Q61Q - dtp_1DJN8P57VSBXASFX maxLength: 37 minLength: 20 title: Datapoint Id type: string input_key: description: Must match an input key in the component blueprint. maxLength: 100 title: Input Key type: string required: - input_key - datapoint_id title: CreateComponentScalarInput type: object securitySchemes: HTTPBearer: bearerFormat: JWT description: 'A JWT Bearer token header for authentication and authorization, in the format `Authorization: Bearer `' scheme: bearer type: http