Isometric Project Components API

The Project Components API from Isometric — 3 operation(s) for project components.

Business capability
Climate & Carbon Management BC-740.20

Operations 3

POST /project_components Post Project Component #
DELETE /project_components/{component_id}/removal_attributions/{removal_id} Delete Project Component Removal Attribution #
POST /project_components/{id}/removal_attributions Post Project Component Removal Attribution #

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/isometric-project-components-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

isometric-project-components-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '# Standards


    ## Versioning


    This API will be safely versioned using root path versioning, in the format `/v{major}`.'
  title: Isometric Certify Data Ingestion Project Components 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: Project Components
paths:
  /project_components:
    post:
      description: Creates a component that will be automatically attributed to GHG statements in the project based on the provided allocation strategy.
      operationId: post_project_component_project_components_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/CreateProjectComponentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Post Project Component
      tags:
      - Project Components
  /project_components/{component_id}/removal_attributions/{removal_id}:
    delete:
      description: Removes all attribution of a project component to a removal.
      operationId: delete_project_component_removal_attribution_project_components__component_id__removal_attributions__removal_id__delete
      parameters:
      - in: path
        name: component_id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Component_'
      - in: path
        name: removal_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 Project Component Removal Attribution
      tags:
      - Project Components
  /project_components/{id}/removal_attributions:
    post:
      description: Manually attributes or removes attribution of a project component to a removal.
      operationId: post_project_component_removal_attribution_project_components__id__removal_attributions_post
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/IsometricIDPathParam_Component_'
      - 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/UpdateProjectComponentRemovalAttributionRequest'
        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 Project Component Removal Attribution
      tags:
      - Project Components
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ProjectComponentAmortizationStrategy:
      description: 'Strategies which control how Project Emissions are automatically amortized and attributed to GHG Statement and Removals


        ESTIMATED_PROJECT_TONNAGE - Automatic amortization ensuring full amortization in proportion to the project''s estimated gross removal.


        MANUAL - No automatic amortization. All GHG Statement and Removal attributions are performed manually.


        CUSTOM_TIME_PERIOD - Automatic amortization ensuring full amortization by a specified target date.


        ESTIMATED_PROJECT_LIFETIME - Automatic amortization ensuring full amortization over the project''s estimated lifetime.'
      enum:
      - ESTIMATED_PROJECT_TONNAGE
      - MANUAL
      - CUSTOM_TIME_PERIOD
      - ESTIMATED_PROJECT_LIFETIME
      title: ProjectComponentAmortizationStrategy
      type: string
    ComponentListInput:
      properties:
        __typename:
          const: ComponentListInput
          default: ComponentListInput
          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 ID of the datapoints assigned to 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: Will match an input key in the component blueprint.
          maxLength: 100
          title: Input Key
          type: string
      required:
      - input_key
      - datapoint_ids
      title: ComponentListInput
      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
    IsometricIDPathParam_GhgEntry_:
      $ref: '#/components/schemas/IsometricIDRequestParam_GhgEntry_'
    IsometricIDRequestParam_GhgEntry_:
      example: rmv_1EEM6NJXX1S0EXKD
      examples:
      - rmv_1EEM6NJXX1S0EXKD
      - rmv_1E3V4J2EWSBX5E82
      maxLength: 37
      minLength: 20
      type: string
    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
    ComponentScalarInput:
      properties:
        __typename:
          const: ComponentScalarInput
          default: ComponentScalarInput
          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 assigned to this input
          example: dtp_1DVKHKS101S0Q61Q
          examples:
          - dtp_1DVKHKS101S0Q61Q
          - dtp_1DJN8P57VSBXASFX
          maxLength: 37
          minLength: 20
          title: Datapoint Id
          type: string
        input_key:
          description: Will match an input key in the component blueprint.
          maxLength: 100
          title: Input Key
          type: string
      required:
      - input_key
      - datapoint_id
      title: ComponentScalarInput
      type: object
    IsometricIDRequestParam_Component_:
      example: cmp_1EP2SB7MZ1S036PY
      examples:
      - cmp_1EP2SB7MZ1S036PY
      - cmp_1EHK4R6QJSBXFC5N
      maxLength: 37
      minLength: 20
      type: string
    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
    IsometricIDPathParam_Component_:
      $ref: '#/components/schemas/IsometricIDRequestParam_Component_'
    UpdateProjectComponentRemovalAttributionRequest:
      properties:
        attribution_factor:
          anyOf:
          - exclusiveMinimum: 0.0
            maximum: 1.0
            type: number
          - type: 'null'
          description: A scalar between 0 and 1 for the fraction of the CO2e flux of the project component that is to be attributed to this removal.
          title: Attribution Factor
        attribution_factor_datapoint_id:
          anyOf:
          - example: dtp_1DVKHKS101S0Q61Q
            examples:
            - dtp_1DVKHKS101S0Q61Q
            - dtp_1DJN8P57VSBXASFX
            maxLength: 37
            minLength: 20
            type: string
          - type: 'null'
          deprecated: true
          description: 'Deprecated, please use `attribution_factor` instead.


            A scalar between 0 and 1 for the fraction of the CO2e flux of the project component that is to be attributed to this removal.'
          title: Attribution Factor Datapoint Id
        removal_id:
          description: ID of Removal to attribute the project component to.
          example: rmv_1EEM6NJXX1S0EXKD
          examples:
          - rmv_1EEM6NJXX1S0EXKD
          - rmv_1E3V4J2EWSBX5E82
          maxLength: 37
          minLength: 20
          title: Removal Id
          type: string
      required:
      - removal_id
      title: UpdateProjectComponentRemovalAttributionRequest
      type: object
    ComponentType:
      enum:
      - ACTIVITY
      - REMOVAL_COUNTERFACTUAL
      - SEQUESTRATION
      - LOSS
      - ADJUSTMENT
      - UNCERTAINTY_DISCOUNT
      title: ComponentType
      type: string
    Component:
      properties:
        activity_completed_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Activity Completed At
        activity_started_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Activity Started At
        allocation_strategy:
          anyOf:
          - $ref: '#/components/schemas/ProjectComponentAmortizationStrategy'
          - type: 'null'
          description: Attribution strategy, manages how project-scoped components are distributed across GHG statements; value will be Null if scope is not of scope project
        blueprint_key:
          title: Blueprint Key
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        display_name:
          title: Display Name
          type: string
        id:
          example: cmp_1EP2SB7MZ1S036PY
          examples:
          - cmp_1EP2SB7MZ1S036PY
          - cmp_1EHK4R6QJSBXFC5N
          maxLength: 37
          minLength: 20
          title: Id
          type: string
        inputs:
          description: A list of component inputs. The inputs can be either scalars or list inputs.
          items:
            oneOf:
            - $ref: '#/components/schemas/ComponentListInput'
            - $ref: '#/components/schemas/ComponentScalarInput'
          title: Inputs
          type: array
        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
        scope:
          $ref: '#/components/schemas/ComponentScope'
        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
        type:
          $ref: '#/components/schemas/ComponentType'
      required:
      - id
      - supplier_reference_id
      - type
      - scope
      - display_name
      - description
      - activity_completed_at
      - activity_started_at
      - blueprint_key
      - removal_template_component_id
      - inputs
      title: Component
      type: object
    ComponentScope:
      enum:
      - REMOVAL
      - GHG_STATEMENT
      - PROJECT
      - NET_NEGATIVITY
      title: ComponentScope
      type: string
    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
    CreateComponentRequest:
      properties:
        activity_completed_at:
          description: The date at which the physical activity related to this component started
          format: date-time
          title: Activity Completed At
          type: string
        activity_started_at:
          description: The date by which the physical activity related to this component finished
          format: date-time
          title: Activity Started At
          type: string
        component_blueprint_key:
          description: The key of the blueprint which we are deriving this component from.
          title: Component Blueprint Key
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: An optional description that can be used to add more context to the component
          title: Description
        display_name:
          maxLength: 100
          minLength: 1
          title: Display Name
          type: string
        inputs:
          description: A list of component inputs. This must match the list of inputs on the component blueprint. See the component-blueprints endpoint.
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateComponentListInput'
            - $ref: '#/components/schemas/CreateComponentScalarInput'
          title: Inputs
          type: array
        project_id:
          description: The project in which to create the component
          example: prj_1CTWZQGKE1S0VAXA
          examples:
          - prj_1CTWZQGKE1S0VAXA
          - prj_1E0QTWB22SBX34D1
          maxLength: 37
          minLength: 20
          title: Project Id
          type: string
        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
      - project_id
      - component_blueprint_key
      - display_name
      - activity_completed_at
      - activity_started_at
      - inputs
      title: CreateComponentRequest
      type: object
    CreateProjectComponentRequest:
      properties:
        allocation_strategy:
          $ref: '#/components/schemas/ProjectComponentAmortizationStrategy'
          description: The strategy that the components emissions are distributed across GHG Statements.
        component_data:
          $ref: '#/components/schemas/CreateComponentRequest'
          description: Data required to create any component
      required:
      - allocation_strategy
      - component_data
      title: CreateProjectComponentRequest
      type: object
  securitySchemes:
    HTTPBearer:
      bearerFormat: JWT
      description: 'A JWT Bearer token header for authentication and authorization, in the format `Authorization: Bearer <token>`'
      scheme: bearer
      type: http