Isometric Components API

The Components API from Isometric — 2 operation(s) for components.

Business capability
Climate & Carbon Management BC-740.20

Operations 5

GET /components Get Components #
POST /components Post Component #
DELETE /components/{id} Delete Component #
GET /components/{id} Get Component #
PATCH /components/{id} Patch Component #

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-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-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 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: Components
paths:
  /components:
    get:
      description: Lists components in the Isometric system
      operationId: get_components_components_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: scope
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ComponentScope'
          - type: 'null'
          title: Scope
      - in: query
        name: ghg_statement_id
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IsometricIDQueryParam_GhgStatement_'
          - type: 'null'
          title: Ghg Statement Id
      - in: query
        name: project_id
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IsometricIDQueryParam_Project_'
          - type: 'null'
          title: Project Id
      - in: query
        name: removal_id
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IsometricIDQueryParam_GhgEntry_'
          - type: 'null'
          title: Removal 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_Component_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Components
      tags:
      - Components
    post:
      description: Creates a component in the Isometric system
      operationId: post_component_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/CreateComponentRequest'
        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 Component
      tags:
      - Components
  /components/{id}:
    delete:
      description: Delete a component resource. Will fail if the component is in use by a verified removal.
      operationId: delete_component_components__id__delete
      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
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Component
      tags:
      - Components
    get:
      description: Get a single component in the Isometric system
      operationId: get_component_components__id__get
      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
      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: Get Component
      tags:
      - Components
    patch:
      description: Creates a component in the Isometric system. Associated removals will be recalculated, if they are not in an immutable state.
      operationId: patch_component_components__id__patch
      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/PatchComponentRequest'
        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: Patch Component
      tags:
      - Components
components:
  schemas:
    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
    PatchComponentRequest:
      properties:
        allocation_strategy:
          anyOf:
          - $ref: '#/components/schemas/ProjectComponentAmortizationStrategy'
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          description: Allocation strategy to change the component to. This can only be set on project-scoped components.
          title: Allocation Strategy
        description:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          title: Description
        display_name:
          anyOf:
          - maxLength: 100
            minLength: 1
            type: string
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          title: Display Name
        inputs:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/CreateComponentListInput'
              - $ref: '#/components/schemas/CreateComponentScalarInput'
            type: array
          - $ref: '#/components/schemas/Undefined'
          default:
            __typename: Undefined
          description: Overwrite existing component inputs
          title: Inputs
      title: PatchComponentRequest
      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
    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
    IsometricIDRequestParam_Project_:
      example: prj_1CTWZQGKE1S0VAXA
      examples:
      - prj_1CTWZQGKE1S0VAXA
      - prj_1E0QTWB22SBX34D1
      maxLength: 37
      minLength: 20
      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
    IsometricIDQueryParam_GhgEntry_:
      $ref: '#/components/schemas/IsometricIDRequestParam_GhgEntry_'
    IsometricIDRequestParam_GhgEntry_:
      example: rmv_1EEM6NJXX1S0EXKD
      examples:
      - rmv_1EEM6NJXX1S0EXKD
      - rmv_1E3V4J2EWSBX5E82
      maxLength: 37
      minLength: 20
      type: string
    ComponentType:
      enum:
      - ACTIVITY
      - REMOVAL_COUNTERFACTUAL
      - SEQUESTRATION
      - LOSS
      - ADJUSTMENT
      - UNCERTAINTY_DISCOUNT
      title: ComponentType
      type: string
    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
    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_GhgStatement_:
      example: ggs_1GDQJ99Z51S0DYW9
      examples:
      - ggs_1GDQJ99Z51S0DYW9
      - ggs_1FWVEQRWSSBXK3NB
      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
    ComponentScope:
      enum:
      - REMOVAL
      - GHG_STATEMENT
      - PROJECT
      - NET_NEGATIVITY
      title: ComponentScope
      type: string
    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
    IsometricIDQueryParam_Project_:
      $ref: '#/components/schemas/IsometricIDRequestParam_Project_'
    IsometricIDPathParam_Component_:
      $ref: '#/components/schemas/IsometricIDRequestParam_Component_'
    IsometricIDQueryParam_GhgStatement_:
      $ref: '#/components/schemas/IsometricIDRequestParam_GhgStatement_'
    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
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    PaginatedListResource_Component_:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/Component'
          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[Component]
      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