{ "components": { "schemas": { "BufferPoolRefund": { "properties": { "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "from_buffer_pool_organisation": { "$ref": "#/components/schemas/Organisation" }, "id": { "example": "bpr_1E5BH6AG21S0SKTW", "examples": [ "bpr_1E5BH6AG21S0SKTW", "bpr_1E94SXW89SBX58PK" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "notes": { "title": "Notes", "type": "string" }, "refunded_at": { "format": "date-time", "title": "Refunded At", "type": "string" }, "to_organisation": { "$ref": "#/components/schemas/Organisation" } }, "required": [ "id", "refunded_at", "from_buffer_pool_organisation", "to_organisation", "credit_batch_size_total", "notes" ], "title": "BufferPoolRefund", "type": "object" }, "CarbonRemovalData": { "properties": { "counterfactuals_kg": { "title": "Counterfactuals Kg", "type": "integer" }, "emissions_kg": { "title": "Emissions Kg", "type": "integer" }, "gross_carbon_removed_kg": { "title": "Gross Carbon Removed Kg", "type": "integer" }, "losses_kg": { "title": "Losses Kg", "type": "integer" }, "net_carbon_removed_kg": { "title": "Net Carbon Removed Kg", "type": "integer" } }, "required": [ "gross_carbon_removed_kg", "net_carbon_removed_kg", "emissions_kg", "counterfactuals_kg", "losses_kg" ], "title": "CarbonRemovalData", "type": "object" }, "CreateDeliveryRequest": { "properties": { "credit_batch_quantities": { "description": "A list of credit batch IDs and kilogram amounts of each to deliver.", "items": { "$ref": "#/components/schemas/CreditBatchQuantity" }, "minItems": 1, "title": "Credit Batch Quantities", "type": "array" }, "notes": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "A publicly visible note stored with the credit delivery.", "examples": [ "Delivered with care." ], "title": "Notes" }, "order_id": { "description": "The ID of the order you wish to fulfil with the specified credit batch amounts.", "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "title": "Order Id", "type": "string" } }, "required": [ "credit_batch_quantities", "order_id", "notes" ], "title": "CreateDeliveryRequest", "type": "object" }, "CreateIndividualBeneficiary": { "properties": { "__typename": { "const": "CreateIndividualBeneficiary", "default": "CreateIndividualBeneficiary", "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" }, "beneficiary_email": { "description": "Unique email address for individual beneficiaries. The email is not displayed on the registry.", "examples": [ "john.smith@example.com" ], "format": "email", "title": "Beneficiary Email", "type": "string" }, "beneficiary_name": { "description": "A publicly visible name shown on the retirement certificate and registry", "examples": [ "John Smith" ], "maxLength": 256, "title": "Beneficiary Name", "type": "string" } }, "required": [ "beneficiary_name", "beneficiary_email" ], "title": "CreateIndividualBeneficiary", "type": "object" }, "CreateOrganizationBeneficiary": { "properties": { "__typename": { "const": "CreateOrganizationBeneficiary", "default": "CreateOrganizationBeneficiary", "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" }, "beneficiary_domain": { "description": "Unique organization domain name for corporate beneficiaries. The domain is not displayed on the registry.", "examples": [ "acme.com" ], "maxLength": 256, "title": "Beneficiary Domain", "type": "string" }, "beneficiary_name": { "description": "A publicly visible name shown on the retirement certificate and registry", "examples": [ "Acme Corporation" ], "maxLength": 256, "title": "Beneficiary Name", "type": "string" } }, "required": [ "beneficiary_name", "beneficiary_domain" ], "title": "CreateOrganizationBeneficiary", "type": "object" }, "CreateRetirementByBatchRequest": { "properties": { "beneficiary_organisation_id": { "description": "The ID of the organisation that the credits will be retired in the name of, this can be the same as `owner_organisation_id`.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "Beneficiary Organisation Id", "type": "string" }, "credit_batch_quantities": { "description": "A list of credit batch IDs and kilogram amounts of each to retire.", "items": { "$ref": "#/components/schemas/CreditBatchQuantity" }, "minItems": 1, "title": "Credit Batch Quantities", "type": "array" }, "notes": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "A publicly visible note stored with the credit retirement.", "examples": [ "Retired with care." ], "title": "Notes" }, "owner_organisation_id": { "description": "The ID of the organisation owns the credits to be retired. Typically this would be your own organisation ID.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "Owner Organisation Id", "type": "string" }, "retirement_purposes": { "items": { "$ref": "#/components/schemas/RetirementPurpose" }, "minItems": 1, "title": "Retirement Purposes", "type": "array", "uniqueItems": true }, "supplier_id": { "description": "All credits in a retirement must originate from the same supplier.", "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Supplier Id", "type": "string" } }, "required": [ "owner_organisation_id", "beneficiary_organisation_id", "supplier_id", "retirement_purposes", "notes", "credit_batch_quantities" ], "title": "CreateRetirementByBatchRequest", "type": "object" }, "CreateRetirementOldestCreditsRequest": { "properties": { "beneficiary_organisation_id": { "description": "The ID of the organisation that the credits will be retired in the name of, this can be the same as `owner_organisation_id`.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "Beneficiary Organisation Id", "type": "string" }, "credit_quantity_kg": { "description": "A representation of a credit quantity as an **integer kilogram amount**. Where **1 unit represents 0.001 credits** and 1 kilogram of CO₂e. This field can handle bigint values.", "examples": [ 1000 ], "exclusiveMinimum": 0, "title": "Credit Quantity Kg", "type": "integer" }, "notes": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "A publicly visible note stored with the credit retirement.", "examples": [ "Retired with care." ], "title": "Notes" }, "order_id": { "anyOf": [ { "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "description": "Filter to only retire credits from a specific order. If not provided, credits from any order will be considered.", "title": "Order Id" }, "owner_organisation_id": { "description": "The ID of the organisation owns the credits to be retired. Typically this would be your own organisation ID.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "Owner Organisation Id", "type": "string" }, "retirement_purposes": { "items": { "$ref": "#/components/schemas/RetirementPurpose" }, "minItems": 1, "title": "Retirement Purposes", "type": "array", "uniqueItems": true }, "supplier_id": { "description": "All credits in a retirement must originate from the same supplier.", "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Supplier Id", "type": "string" }, "vintage": { "anyOf": [ { "maximum": 2100, "minimum": 1900, "type": "integer" }, { "type": "null" } ], "description": "The year of the credits to be retired. If not provided, the oldest credits will be retired.", "examples": [ 2022 ], "title": "Vintage" } }, "required": [ "owner_organisation_id", "beneficiary_organisation_id", "supplier_id", "retirement_purposes", "notes", "credit_quantity_kg" ], "title": "CreateRetirementOldestCreditsRequest", "type": "object" }, "CreateStripeCheckoutSessionRequest": { "properties": { "cancel_url": { "description": "The URL to redirect customer to after a cancelled or failed payment", "examples": [ "https://example.com/cancel" ], "title": "Cancel Url", "type": "string" }, "customer_email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The email of the customer to prefill the checkout session with. If not provided, the customer will be prompted to enter their email during checkout.", "examples": [ "test@example.com" ], "title": "Customer Email" }, "frequency": { "$ref": "#/components/schemas/StripeSubscriptionFrequency", "description": "The frequency of the subscription", "examples": [ "monthly" ] }, "isometric_terms_and_conditions_accepted": { "description": "Whether the user has accepted the Isometric terms and conditions; the request will fail if this is not set to true", "examples": [ true ], "title": "Isometric Terms And Conditions Accepted", "type": "boolean" }, "quantity_kg": { "description": "The quantity of credits to purchase, in kilograms. This field can handle bigint values.", "examples": [ 1000 ], "title": "Quantity Kg", "type": "integer" }, "success_url": { "description": "The URL to redirect customer to after a successful payment", "examples": [ "https://example.com/success" ], "title": "Success Url", "type": "string" }, "supplier_terms_and_conditions_accepted": { "description": "Whether the user has accepted the supplier terms and conditions; the request will fail if this is not set to true", "examples": [ true ], "title": "Supplier Terms And Conditions Accepted", "type": "boolean" } }, "required": [ "quantity_kg", "frequency", "isometric_terms_and_conditions_accepted", "supplier_terms_and_conditions_accepted", "success_url", "cancel_url" ], "title": "CreateStripeCheckoutSessionRequest", "type": "object" }, "CreateTransferRequest": { "properties": { "credit_batch_quantities": { "description": "A list of credit batch IDs and kilogram amounts of each to transfer.", "items": { "$ref": "#/components/schemas/CreditBatchQuantity" }, "title": "Credit Batch Quantities", "type": "array" }, "from_organisation_id": { "description": "The ID of the organisation that is sending the credits. Typically this would be your own organisation ID.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "From Organisation Id", "type": "string" }, "notes": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "A publicly visible note stored with the credit transfer.", "examples": [ "Transferred with care." ], "title": "Notes" }, "supplier_id": { "description": "All credits in a transfer must originate from the same supplier.", "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Supplier Id", "type": "string" }, "to_organisation_id": { "description": "The ID of the organisation that will receive the credits.", "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "To Organisation Id", "type": "string" } }, "required": [ "credit_batch_quantities", "from_organisation_id", "to_organisation_id", "supplier_id", "notes" ], "title": "CreateTransferRequest", "type": "object" }, "CreditBalance": { "properties": { "active_credits_total": { "$ref": "#/components/schemas/CreditQuantity" }, "retired_credits_total": { "$ref": "#/components/schemas/CreditQuantity" } }, "required": [ "active_credits_total", "retired_credits_total" ], "title": "CreditBalance", "type": "object" }, "CreditBatch": { "properties": { "beneficiary": { "anyOf": [ { "$ref": "#/components/schemas/Organisation" }, { "type": "null" } ] }, "carbon_removal_data": { "anyOf": [ { "$ref": "#/components/schemas/CarbonRemovalData" }, { "type": "null" } ], "description": "Carbon removal data for this credit batch" }, "ccp_approved": { "description": "Whether this credit batch has been issued as part of a ICVCM Core Carbon Principles (CCP) approved project", "title": "CCP Approved", "type": "boolean" }, "country_of_issue": { "examples": [ "GBR" ], "maxLength": 3, "minLength": 3, "title": "Country Of Issue", "type": "string" }, "delivered_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Delivered At" }, "delivery_id": { "anyOf": [ { "example": "dlv_1C454ZXA61S03Z9T", "examples": [ "dlv_1C454ZXA61S03Z9T", "dlv_1FAGG2H2PSBXHGYY" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "title": "Delivery Id" }, "id": { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "issuance_id": { "example": "iss_1EWT8R5FY1S0GFCY", "examples": [ "iss_1EWT8R5FY1S0GFCY", "iss_1CSVDDHH3SBXRP6K" ], "maxLength": 37, "minLength": 20, "title": "Issuance Id", "type": "string" }, "issued_at": { "format": "date-time", "title": "Issued At", "type": "string" }, "left_child_id": { "anyOf": [ { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "description": "If this credit batch has status `SPLIT`, it will have two child batches representing the two halves of this split.", "title": "Left Child Id" }, "owner": { "$ref": "#/components/schemas/Organisation" }, "parent_id": { "anyOf": [ { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "description": "If this credit batch was created from splitting a larger batch in two, this will be set to the id of the parent credit batch.", "title": "Parent Id" }, "project_id": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "title": "Project Id", "type": "string" }, "removal_id": { "example": "rmv_1EEM6NJXX1S0EXKD", "examples": [ "rmv_1EEM6NJXX1S0EXKD", "rmv_1E3V4J2EWSBX5E82" ], "maxLength": 37, "minLength": 20, "title": "Removal Id", "type": "string" }, "retired_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Retired At" }, "retirement_id": { "anyOf": [ { "example": "ret_1FYBH4QDT1S0SVKF", "examples": [ "ret_1FYBH4QDT1S0SVKF", "ret_1CGV2XADRSBX1CHB" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "title": "Retirement Id" }, "right_child_id": { "anyOf": [ { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "type": "string" }, { "type": "null" } ], "description": "If this credit batch has status `SPLIT`, it will have two child batches representing the two halves of this split.", "title": "Right Child Id" }, "sequestered_on": { "format": "date", "title": "Sequestered On", "type": "string" }, "serial_number": { "examples": [ "ISO-1-BSTORE-GBR-F5X7-2024-78177-81177" ], "title": "Serial Number", "type": "string" }, "size": { "$ref": "#/components/schemas/CreditQuantity" }, "status": { "$ref": "#/components/schemas/CreditBatchStatus" }, "supplier_id": { "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Supplier Id", "type": "string" } }, "required": [ "id", "serial_number", "status", "size", "issued_at", "retired_at", "delivered_at", "sequestered_on", "country_of_issue", "supplier_id", "parent_id", "left_child_id", "right_child_id", "issuance_id", "delivery_id", "beneficiary", "retirement_id", "removal_id", "owner", "project_id", "carbon_removal_data", "ccp_approved" ], "title": "CreditBatch", "type": "object" }, "CreditBatchQuantity": { "properties": { "credit_batch_id": { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "title": "Credit Batch Id", "type": "string" }, "credit_quantity_kg": { "description": "A representation of a credit quantity as an **integer kilogram amount**. Where **1 unit represents 0.001 credits** and 1 kilogram of CO₂e. This field can handle bigint values.", "examples": [ 1000 ], "exclusiveMinimum": 0, "title": "Credit Quantity Kg", "type": "integer" } }, "required": [ "credit_batch_id", "credit_quantity_kg" ], "title": "CreditBatchQuantity", "type": "object" }, "CreditBatchSortField": { "enum": [ "issued_at" ], "title": "CreditBatchSortField", "type": "string" }, "CreditBatchStatus": { "enum": [ "active", "split", "retired" ], "title": "CreditBatchStatus", "type": "string" }, "CreditQuantity": { "properties": { "credit_kgs": { "description": "A representation of the credit quantity as an integer kilogram amount. Where 1 unit represents 0.001 credits and 1 kilogram of CO₂e. This field can handle bigint values.", "examples": [ 125632 ], "title": "Credit Kgs", "type": "integer" }, "credits": { "description": "A representation of the credit quantity as a fractional amount, to 3 decimal places. Where 1 unit represents 1 credit and 1 ton of CO₂e.", "examples": [ 125.632 ], "title": "Credits", "type": "number" } }, "required": [ "credits", "credit_kgs" ], "title": "CreditQuantity", "type": "object" }, "Delivery": { "properties": { "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "delivered_at": { "format": "date-time", "title": "Delivered At", "type": "string" }, "from_supplier": { "$ref": "#/components/schemas/Supplier" }, "id": { "example": "dlv_1C454ZXA61S03Z9T", "examples": [ "dlv_1C454ZXA61S03Z9T", "dlv_1FAGG2H2PSBXHGYY" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "notes": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "A publicly visible note stored with the credit delivery.", "examples": [ "Delivered with care." ], "title": "Notes" }, "order_id": { "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "title": "Order Id", "type": "string" }, "to_organisation": { "$ref": "#/components/schemas/Organisation" }, "url": { "title": "Url", "type": "string" } }, "required": [ "id", "delivered_at", "order_id", "from_supplier", "to_organisation", "credit_batch_size_total", "url", "notes" ], "title": "Delivery", "type": "object" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "title": "Detail", "type": "array" } }, "title": "HTTPValidationError", "type": "object" }, "IsometricIDPathParam_BufferPoolRefund_": { "$ref": "#/components/schemas/IsometricIDRequestParam_BufferPoolRefund_" }, "IsometricIDPathParam_CreditBatch_": { "$ref": "#/components/schemas/IsometricIDRequestParam_CreditBatch_" }, "IsometricIDPathParam_Delivery_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Delivery_" }, "IsometricIDPathParam_Issuance_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Issuance_" }, "IsometricIDPathParam_Order_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Order_" }, "IsometricIDPathParam_Organisation_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Organisation_" }, "IsometricIDPathParam_Project_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Project_" }, "IsometricIDPathParam_Retirement_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Retirement_" }, "IsometricIDPathParam_Supplier_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Supplier_" }, "IsometricIDPathParam_Transfer_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Transfer_" }, "IsometricIDQueryParam_Delivery_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Delivery_" }, "IsometricIDQueryParam_Issuance_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Issuance_" }, "IsometricIDQueryParam_Order_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Order_" }, "IsometricIDQueryParam_Organisation_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Organisation_" }, "IsometricIDQueryParam_Project_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Project_" }, "IsometricIDQueryParam_Retirement_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Retirement_" }, "IsometricIDQueryParam_Supplier_": { "$ref": "#/components/schemas/IsometricIDRequestParam_Supplier_" }, "IsometricIDRequestParam_BufferPoolRefund_": { "example": "bpr_1E5BH6AG21S0SKTW", "examples": [ "bpr_1E5BH6AG21S0SKTW", "bpr_1E94SXW89SBX58PK" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_CreditBatch_": { "example": "ctb_1DRBTYA8Q1S07CBY", "examples": [ "ctb_1DRBTYA8Q1S07CBY", "ctb_1CA2D3S73SBXYN70" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Delivery_": { "example": "dlv_1C454ZXA61S03Z9T", "examples": [ "dlv_1C454ZXA61S03Z9T", "dlv_1FAGG2H2PSBXHGYY" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Issuance_": { "example": "iss_1EWT8R5FY1S0GFCY", "examples": [ "iss_1EWT8R5FY1S0GFCY", "iss_1CSVDDHH3SBXRP6K" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Order_": { "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Organisation_": { "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Project_": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Retirement_": { "example": "ret_1FYBH4QDT1S0SVKF", "examples": [ "ret_1FYBH4QDT1S0SVKF", "ret_1CGV2XADRSBX1CHB" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Supplier_": { "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "type": "string" }, "IsometricIDRequestParam_Transfer_": { "example": "tfr_1FJGWSY271S0QSMR", "examples": [ "tfr_1FJGWSY271S0QSMR", "tfr_1FAG5BDW1SBXJ1CH" ], "maxLength": 37, "minLength": 20, "type": "string" }, "Issuance": { "properties": { "buffer_pool_credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "id": { "example": "iss_1EWT8R5FY1S0GFCY", "examples": [ "iss_1EWT8R5FY1S0GFCY", "iss_1CSVDDHH3SBXRP6K" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "issued_at": { "format": "date-time", "title": "Issued At", "type": "string" }, "project_id": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "title": "Project Id", "type": "string" }, "reporting_period_end_at": { "description": "End date of the reporting period (inclusive)", "format": "date", "title": "Reporting Period End At", "type": "string" }, "reporting_period_start_at": { "description": "Start date of the reporting period (inclusive)", "format": "date", "title": "Reporting Period Start At", "type": "string" }, "supplier": { "$ref": "#/components/schemas/Supplier" }, "supplier_credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" } }, "required": [ "id", "issued_at", "supplier", "project_id", "reporting_period_start_at", "reporting_period_end_at", "supplier_credit_batch_size_total", "buffer_pool_credit_batch_size_total", "credit_batch_size_total" ], "title": "Issuance", "type": "object" }, "IssuanceCreditBatches": { "properties": { "buffer_pool_credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "buffer_pool_credit_batches": { "items": { "$ref": "#/components/schemas/CreditBatch" }, "title": "Buffer Pool Credit Batches", "type": "array" }, "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "issuance_id": { "example": "iss_1EWT8R5FY1S0GFCY", "examples": [ "iss_1EWT8R5FY1S0GFCY", "iss_1CSVDDHH3SBXRP6K" ], "maxLength": 37, "minLength": 20, "title": "Issuance Id", "type": "string" }, "supplier_credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "supplier_credit_batches": { "items": { "$ref": "#/components/schemas/CreditBatch" }, "title": "Supplier Credit Batches", "type": "array" } }, "required": [ "issuance_id", "supplier_credit_batches", "supplier_credit_batch_size_total", "buffer_pool_credit_batches", "buffer_pool_credit_batch_size_total", "credit_batch_size_total" ], "title": "IssuanceCreditBatches", "type": "object" }, "ListResource_CreditBatch_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/CreditBatch" }, "title": "Nodes", "type": "array" }, "total_count": { "title": "Total Count", "type": "integer" } }, "required": [ "nodes", "total_count" ], "title": "ListResource[CreditBatch]", "type": "object" }, "Location": { "properties": { "country_code": { "title": "Country Code", "type": "string" }, "country_name": { "title": "Country Name", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "latitude": { "maximum": 90, "minimum": -90, "title": "Latitude", "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "title": "Longitude", "type": "number" } }, "required": [ "country_code", "country_name", "latitude", "longitude" ], "title": "Location", "type": "object" }, "Order": { "properties": { "buyer_organisation": { "$ref": "#/components/schemas/Organisation" }, "credits_delivered": { "$ref": "#/components/schemas/CreditQuantity" }, "credits_ordered": { "$ref": "#/components/schemas/CreditQuantity" }, "effective_contract_date": { "format": "date", "title": "Effective Contract Date", "type": "string" }, "fulfilled_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Fulfilled At" }, "id": { "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "status": { "$ref": "#/components/schemas/OrderStatus" }, "supplier": { "$ref": "#/components/schemas/Supplier" } }, "required": [ "id", "effective_contract_date", "fulfilled_at", "buyer_organisation", "supplier", "status", "credits_ordered", "credits_delivered" ], "title": "Order", "type": "object" }, "OrderCreditBalance": { "properties": { "order_id": { "example": "ord_1FAN3S3WV1S0B842", "examples": [ "ord_1FAN3S3WV1S0B842", "ord_1DBVRQDHBSBXWBWP" ], "maxLength": 37, "minLength": 20, "title": "Order Id", "type": "string" }, "total": { "$ref": "#/components/schemas/CreditBalance" } }, "required": [ "order_id", "total" ], "title": "OrderCreditBalance", "type": "object" }, "OrderStatus": { "enum": [ "placed", "in_progress", "completed" ], "title": "OrderStatus", "type": "string" }, "Organisation": { "properties": { "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "examples": [ "isometric.com" ], "title": "Domain" }, "id": { "example": "org_1GB56M1ST1S0GVNA", "examples": [ "org_1GB56M1ST1S0GVNA", "org_1CP8EQDNQSBXTMR2" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "name": { "examples": [ "Isometric" ], "title": "Name", "type": "string" } }, "required": [ "id", "name", "domain" ], "title": "Organisation", "type": "object" }, "OrganisationCreditBalance": { "properties": { "order_balances": { "items": { "$ref": "#/components/schemas/OrderCreditBalance" }, "title": "Order Balances", "type": "array" }, "project_balances": { "items": { "$ref": "#/components/schemas/ProjectCreditBalance" }, "title": "Project Balances", "type": "array" }, "supplier_balances": { "items": { "$ref": "#/components/schemas/SupplierCreditBalance" }, "title": "Supplier Balances", "type": "array" }, "total": { "$ref": "#/components/schemas/CreditBalance" } }, "required": [ "total", "supplier_balances", "project_balances", "order_balances" ], "title": "OrganisationCreditBalance", "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" }, "PaginatedListResource_CreditBatch_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/CreditBatch" }, "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[CreditBatch]", "type": "object" }, "PaginatedListResource_Delivery_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Delivery" }, "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[Delivery]", "type": "object" }, "PaginatedListResource_Issuance_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Issuance" }, "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[Issuance]", "type": "object" }, "PaginatedListResource_Order_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Order" }, "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[Order]", "type": "object" }, "PaginatedListResource_Organisation_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Organisation" }, "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[Organisation]", "type": "object" }, "PaginatedListResource_ProjectDocument_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/ProjectDocument" }, "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[ProjectDocument]", "type": "object" }, "PaginatedListResource_Project_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Project" }, "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[Project]", "type": "object" }, "PaginatedListResource_Retirement_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Retirement" }, "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[Retirement]", "type": "object" }, "PaginatedListResource_Supplier_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Supplier" }, "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[Supplier]", "type": "object" }, "PaginatedListResource_Transfer_": { "properties": { "nodes": { "items": { "$ref": "#/components/schemas/Transfer" }, "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[Transfer]", "type": "object" }, "Pathway": { "enum": [ "biomass_carbon_removal_and_storage", "direct_air_capture", "enhanced_weathering", "carbon_mineralization", "reforestation", "marine", "superpollutants" ], "title": "Pathway", "type": "string" }, "Project": { "properties": { "country_code": { "description": "A three letter ISO 3166-1 alpha-3 code representing a country", "examples": [ "GBR" ], "title": "Country Code", "type": "string" }, "crediting_period_end": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Crediting Period End" }, "crediting_period_start": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Crediting Period Start" }, "current_verifier_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the organization currently responsible for verifying this project, if assigned", "title": "Current Verifier Name" }, "id": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "issued_buffer_pool_credits_total": { "$ref": "#/components/schemas/CreditQuantity", "description": "The total number of credits from this project that have been allocated to the supplier's buffer pool" }, "issued_credits_total": { "$ref": "#/components/schemas/CreditQuantity", "description": "The total number of credits Isometric has issued to this project, including those allocated to the buffer pool" }, "location": { "anyOf": [ { "$ref": "#/components/schemas/Location" }, { "type": "null" } ] }, "name": { "title": "Name", "type": "string" }, "pathway": { "$ref": "#/components/schemas/Pathway", "description": "The pathway this project is following", "examples": [ "biomass_carbon_removal_and_storage" ] }, "process_key": { "description": "The carbon removal process used in this project", "title": "Process Key", "type": "string" }, "protocol_slug": { "description": "The slug of the protocol this project is following", "title": "Protocol Slug", "type": "string" }, "retired_buffer_pool_credits_total": { "$ref": "#/components/schemas/CreditQuantity", "description": "The total number of credits from this project that have been retired from the supplier's buffer pool" }, "retired_credits_total": { "$ref": "#/components/schemas/CreditQuantity", "description": "The total number of credits from this project that have been retired, including those allocated to the buffer pool" }, "short_code": { "description": "A random short code, uniquely identifying the project", "examples": [ "F5X7" ], "title": "Short Code", "type": "string" }, "status": { "$ref": "#/components/schemas/ProjectStatus", "description": "The project status" }, "supplier": { "$ref": "#/components/schemas/Supplier" }, "url": { "description": "The url to the Isometric page for this project", "title": "Url", "type": "string" }, "validator_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the organization responsible for validating this project, if assigned", "title": "Validator Name" } }, "required": [ "id", "name", "supplier", "status", "short_code", "url", "process_key", "pathway", "protocol_slug", "country_code", "validator_name", "current_verifier_name", "crediting_period_start", "crediting_period_end", "issued_credits_total", "retired_credits_total", "issued_buffer_pool_credits_total", "retired_buffer_pool_credits_total", "location" ], "title": "Project", "type": "object" }, "ProjectCreditBalance": { "properties": { "project_id": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "title": "Project Id", "type": "string" }, "total": { "$ref": "#/components/schemas/CreditBalance" } }, "required": [ "project_id", "total" ], "title": "ProjectCreditBalance", "type": "object" }, "ProjectDocument": { "properties": { "display_name": { "title": "Display Name", "type": "string" }, "id": { "example": "pjd_1ESC3V76T1S0S6J3", "examples": [ "pjd_1ESC3V76T1S0S6J3", "pjd_1E0AZYQ9ESBX2569" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "project_id": { "example": "prj_1CTWZQGKE1S0VAXA", "examples": [ "prj_1CTWZQGKE1S0VAXA", "prj_1E0QTWB22SBX34D1" ], "maxLength": 37, "minLength": 20, "title": "Project Id", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "id", "display_name", "project_id", "url" ], "title": "ProjectDocument", "type": "object" }, "ProjectStatus": { "enum": [ "draft", "preview", "under_validation", "validated", "validation_unsuccessful", "cancelled" ], "title": "ProjectStatus", "type": "string" }, "Retirement": { "properties": { "beneficiary": { "$ref": "#/components/schemas/Organisation" }, "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "id": { "example": "ret_1FYBH4QDT1S0SVKF", "examples": [ "ret_1FYBH4QDT1S0SVKF", "ret_1CGV2XADRSBX1CHB" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "notes": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Notes" }, "owner": { "$ref": "#/components/schemas/Organisation" }, "purposes": { "items": { "$ref": "#/components/schemas/RetirementPurpose" }, "title": "Purposes", "type": "array" }, "retired_at": { "format": "date-time", "title": "Retired At", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "id", "retired_at", "purposes", "beneficiary", "owner", "credit_batch_size_total", "url", "notes" ], "title": "Retirement", "type": "object" }, "RetirementPurpose": { "enum": [ "corporate_targets", "public_environmental_claims", "insetting", "regulatory_requirement", "other" ], "title": "RetirementPurpose", "type": "string" }, "SortDirection": { "enum": [ "asc", "desc" ], "title": "SortDirection", "type": "string" }, "StripeCheckoutResponse": { "properties": { "redirect_url": { "title": "Redirect Url", "type": "string" } }, "required": [ "redirect_url" ], "title": "StripeCheckoutResponse", "type": "object" }, "StripeSubscriptionFrequency": { "enum": [ "one_time", "monthly", "yearly" ], "title": "StripeSubscriptionFrequency", "type": "string" }, "Supplier": { "properties": { "id": { "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "location": { "anyOf": [ { "$ref": "#/components/schemas/Location" }, { "type": "null" } ] }, "long_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Long Description" }, "organisation": { "$ref": "#/components/schemas/Organisation" }, "short_description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Short Description" } }, "required": [ "id", "short_description", "long_description", "organisation", "location" ], "title": "Supplier", "type": "object" }, "SupplierCreditBalance": { "properties": { "supplier_id": { "example": "spl_1CC712KFS1S0YKPS", "examples": [ "spl_1CC712KFS1S0YKPS", "spl_1FJBMMGR3SBXKDME" ], "maxLength": 37, "minLength": 20, "title": "Supplier Id", "type": "string" }, "total": { "$ref": "#/components/schemas/CreditBalance" } }, "required": [ "supplier_id", "total" ], "title": "SupplierCreditBalance", "type": "object" }, "SupplierStripeConfiguration": { "properties": { "account_id": { "description": "Stripe account ID of the supplier's connected account", "title": "Account Id", "type": "string" }, "credit_product_price_per_tonne": { "anyOf": [ { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "description": "Price per tonne for carbon dioxide removal; set by the supplier. See `currency` field for the currency.", "title": "Credit Product Price Per Tonne" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Currency used for this account (ISO 4217 code)", "title": "Currency" }, "id": { "example": "ssc_1EFF4PWKE1S0TF1S", "examples": [ "ssc_1EFF4PWKE1S0TF1S", "ssc_1FH1888QSSBXWB18" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "isometric_terms_and_conditions_url": { "description": "URL to the Isometric terms and conditions", "title": "Isometric Terms And Conditions Url", "type": "string" }, "verification_product_price_per_tonne": { "anyOf": [ { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "description": "Price per tonne for verification; set by Isometric. See `currency` field for the currency.", "title": "Verification Product Price Per Tonne" } }, "required": [ "id", "account_id", "credit_product_price_per_tonne", "verification_product_price_per_tonne", "currency", "isometric_terms_and_conditions_url" ], "title": "SupplierStripeConfiguration", "type": "object" }, "Transfer": { "properties": { "credit_batch_size_total": { "$ref": "#/components/schemas/CreditQuantity" }, "from_organisation": { "$ref": "#/components/schemas/Organisation" }, "id": { "example": "tfr_1FJGWSY271S0QSMR", "examples": [ "tfr_1FJGWSY271S0QSMR", "tfr_1FAG5BDW1SBXJ1CH" ], "maxLength": 37, "minLength": 20, "title": "Id", "type": "string" }, "notes": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Notes" }, "to_organisation": { "$ref": "#/components/schemas/Organisation" }, "transferred_at": { "format": "date-time", "title": "Transferred At", "type": "string" } }, "required": [ "id", "transferred_at", "from_organisation", "to_organisation", "credit_batch_size_total", "notes" ], "title": "Transfer", "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" } }, "securitySchemes": { "HTTPBearer": { "bearerFormat": "JWT", "description": "A JWT Bearer token header for authentication and authorization, in the format `Authorization: Bearer `", "scheme": "bearer", "type": "http" } } }, "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 Registry Concepts\n\n## Introduction\n\nThis page defines concepts found in the Isometric Registry, and used in the [Registry API](/api-reference/registry/registry-introduction).\nFor a broader understanding of the requirements and processes governing the Isometric Registry, please refer to the [Isometric Standard](https://isometric.com/standard).\n\n## Key Concepts\n\n### Entities\n\n#### Supplier\n\nAn entity that removes carbon dioxide from the atmosphere so that it can be stored durably and sells this service to Buyers.\n\n#### Project\n\nAn activity, process or group of activities or processes that alter the condition of a Baseline, resulting in [Removals](/user-guides/certify/key-certify-concepts#removals).\n\n#### Buyer\n\nAn entity (usually a corporation, but can also be an individual or a government entity) that purchases CDR, often with the purpose of retiring CDR credits to make a carbon neutral or net-negative claim.\n\n#### Beneficiary\n\nAn organization benefiting from the Removal claim afforded by a Credit. This may be the current holder of the Credit at the time of Retirement, or an organization specified by the Credit account holder during the Retirement procedure.\n\n### Credits\n\nA credit is a publicly visible, uniquely identifiable Credit Certificate Issued by a Registry that gives the owner of the Credit the right to account for one net metric tonne of Verified CO₂e Removal.\n\nIn the case of the Isometric Standard, the net tonne of CO₂e Removal comes from a Project validated against a certified Protocol.\n\n#### Order\n\nA set number of tonnes that a buyer purchases from a supplier in a given contract. An order is logged in the Isometric registry once a buyer has also agreed a verification fee with Isometric.\n\n#### Issuance\n\nOnce a Verified Removal has taken place, Isometric issues credits to the account of a Supplier, enabling them to deliver credits to their buyers with pending orders.\n\n#### Delivery\n\nThe outcome of a supplier apportioning removals into orders to fulfill their buyers' purchases. A removal can only be delivered after it has been verified.\n\n#### Retirement\n\nRetirement is a mechanism where a Credit's state is finalized in order to make a public claim. On retirement, Isometric issues a retirement certificate and the credit can no longer be updated. This ensures that once the net tonne of CO₂e represented by the retired Credit is used towards an accounting activity, it is not double counted.\n\nCredit batches will have the status `RETIRED` after retirement.\n\n\n![Credit issuance journey diagram](/images/credit-journey.png)\n\n\n#### Buffer Pool\n\nThe Buffer Pool is a pool of credits that are held in an account matched to a Supplier to manage reversal risk. Buffer pool credits may be cancelled in the case of a reversal.\n\n### Credit Batches\n\nA Credit Batch is a grouping of 1 or more credit units, where each credit unit represents 1kg of CO₂e removed.\n\nWhen credits are initially Issued, they will be batched together with status `ACTIVE`. When subsequent transactions are made using these credits,\nincluding deliveries, retirements and transfers, a batch might be split to make this possible.\n\nAll credits in batch will always have the same initial Supplier, Project and Issuance.\n\n#### Credit Batch Splitting\n\nIf the quantity of credits in a transaction request (delivery, transfer or retirement) does not match the full size of the submitted credit batches,\nthe batches submitted will be split in order to transact the exact credit amount requested.\n\nWhen a credit batch is split, its status will be updated to `SPLIT` and it can no longer be interacted with.\n\nTwo _child_ batches representing the two halves of the split are created with an `ACTIVE` status.\n\n\nFor API users, child batches will have a `parent_id` set pointing at the originally split batch.\nFrom the parent split batch, you can find its two children via the `left_child_id` and `right_child_id` fields.\nSee the [Credit Batch endpoint](/api-reference/registry/credit-batch) for more details.\n\n\n\n![Credit batch splitting example diagram](/images/credit-splitting.png)\n\n", "title": "Isometric Registry API", "version": "v0" }, "openapi": "3.1.0", "paths": { "/beneficiaries": { "get": { "description": "A paginated list of Organisations which the currently authenticated organisation can retire credits on the behalf of, using the `POST /retirements` endpoint.", "operationId": "beneficiaries_beneficiaries_get", "parameters": [ { "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_Organisation_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Beneficiaries" } }, "/beneficiary": { "post": { "description": "Create a new beneficiary for your organization to retire on behalf of.", "operationId": "create_beneficiary_beneficiary_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": { "oneOf": [ { "$ref": "#/components/schemas/CreateOrganizationBeneficiary" }, { "$ref": "#/components/schemas/CreateIndividualBeneficiary" } ], "title": "Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organisation" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Beneficiary" } }, "/credit_batches/{id}": { "get": { "description": "Information about a specific credit batch.", "operationId": "credit_batch_credit_batches__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_CreditBatch_" } }, { "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/CreditBatch" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Credit Batch" } }, "/deliveries": { "get": { "description": "A paginated list of all deliveries on Isometric's registry.\n\nReturned list of projects will be sorted by most recently delivered first.", "operationId": "deliveries_deliveries_get", "parameters": [ { "in": "query", "name": "from_supplier_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Supplier_" }, { "type": "null" } ], "title": "From Supplier Id" } }, { "in": "query", "name": "to_organisation_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_" }, { "type": "null" } ], "title": "To Organisation 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_Delivery_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Deliveries" }, "post": { "description": "Create a delivery against an order.", "operationId": "create_delivery_deliveries_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/CreateDeliveryRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Delivery" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Delivery" } }, "/deliveries/{id}": { "get": { "description": "Information about a specific delivery.", "operationId": "delivery_deliveries__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Delivery_" } }, { "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/Delivery" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Delivery" } }, "/deliveries/{id}/credit_batches": { "get": { "description": "List of credit batches for a given delivery.\n\nNote these are the original batches in the delivery, so some credit batches might be in status SPLIT if they had to be split for a transfer/retirement.", "operationId": "delivery_credit_batches_deliveries__id__credit_batches_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Delivery_" } }, { "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/ListResource_CreditBatch_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Delivery Credit Batches" } }, "/issuances": { "get": { "description": "A paginated list of all issuances in Isometric's registry.\n\nReturned list of issuances will be sorted by most recently issued first.", "operationId": "issuances_issuances_get", "parameters": [ { "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_Issuance_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Issuances" } }, "/issuances/{id}": { "get": { "description": "Information about a specific issuance.", "operationId": "issuance_issuances__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Issuance_" } }, { "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/Issuance" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Issuance" } }, "/issuances/{id}/credit_batches": { "get": { "description": "List of credit batches for a given issuance.\n\nCredit batches are divided between those allocated to the buffer pool and those allocated to the supplier. Note these are the original batches in the issuance, so some credit batches might be in status SPLIT if they had to be split for a delivery/transfer/retirement.", "operationId": "issuance_credit_batches_issuances__id__credit_batches_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Issuance_" } }, { "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/IssuanceCreditBatches" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Issuance Credit Batches" } }, "/orders/{id}": { "get": { "description": "Information about a specific order.", "operationId": "order_orders__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Order_" } }, { "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/Order" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Order" } }, "/orders/{id}/deliveries": { "get": { "description": "List of deliveries for a given order.\n\nDeliveries are sorted by most recently delivered first.", "operationId": "order_deliveries_orders__id__deliveries_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Order_" } }, { "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_Delivery_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Order Deliveries" } }, "/organisation": { "get": { "description": "The organisation currently authenticated.\n\nUse this endpoint to get your organisation_id.", "operationId": "current_organisation_organisation_get", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organisation" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Current Organisation" } }, "/organisations/{id}": { "get": { "description": "Information about a specific organisation.", "operationId": "organisation_organisations__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Organisation_" } }, { "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": { "anyOf": [ { "$ref": "#/components/schemas/Organisation" }, { "type": "null" } ], "title": "Response Organisation Organisations Id Get" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Organisation" } }, "/organisations/{id}/credit_balance": { "get": { "description": "Information about active and retired credits owned by the given organisation.\n\nIncludes total balances as well as balances split by orders, projects and suppliers.", "operationId": "organisation_credit_balance_organisations__id__credit_balance_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Organisation_" } }, { "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/OrganisationCreditBalance" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Organisation Credit Balance" } }, "/organisations/{id}/credit_batches": { "get": { "description": "A paginated list of all credit batches currently owned or retired on behalf of the organisation, sorted by issuance date. By default it excludes batches with the status 'split'.\n\nNote that when combining filters, the result will be the intersection of them. For example, when filtering by `supplier_id` and `issued_after`, the result will only include credit batches from the specified supplier that have been issued after the specified date.", "operationId": "organisation_credit_batches_organisations__id__credit_batches_get", "parameters": [ { "description": "The ID of the organisation.", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_", "description": "The ID of the organisation." } }, { "description": "Filter credit batches by the supplier that was issued the credits", "in": "query", "name": "supplier_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Supplier_" }, { "type": "null" } ], "description": "Filter credit batches by the supplier that was issued the credits", "title": "Supplier Id" } }, { "description": "Filter credit batches by the project that the credits were issued for", "in": "query", "name": "project_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Project_" }, { "type": "null" } ], "description": "Filter credit batches by the project that the credits were issued for", "title": "Project Id" } }, { "description": "Filter credit batches by their issuance", "in": "query", "name": "issuance_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Issuance_" }, { "type": "null" } ], "description": "Filter credit batches by their issuance", "title": "Issuance Id" } }, { "description": "Filter credit batches by the delivery that they were part of", "in": "query", "name": "delivery_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Delivery_" }, { "type": "null" } ], "description": "Filter credit batches by the delivery that they were part of", "title": "Delivery Id" } }, { "description": "Filter credit batches by the order they have been delivered against", "in": "query", "name": "order_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Order_" }, { "type": "null" } ], "description": "Filter credit batches by the order they have been delivered against", "title": "Order Id" } }, { "description": "Filter credit batches by the retirement they have been part of", "in": "query", "name": "retirement_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Retirement_" }, { "type": "null" } ], "description": "Filter credit batches by the retirement they have been part of", "title": "Retirement Id" } }, { "description": "Filter credit batches by status. Note that 'split' status is excluded by default.", "in": "query", "name": "status", "required": false, "schema": { "anyOf": [ { "items": { "$ref": "#/components/schemas/CreditBatchStatus" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "description": "Filter credit batches by status. Note that 'split' status is excluded by default.", "title": "Status" } }, { "description": "Filter credit batches to only return ones issued strictly after this timestamp. Format: ISO8601-like including timezone, eg. 2021-01-01T00:00:00Z", "in": "query", "name": "issued_after", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Filter credit batches to only return ones issued strictly after this timestamp. Format: ISO8601-like including timezone, eg. 2021-01-01T00:00:00Z", "examples": [ "2021-01-01T00:00:00Z" ], "title": "Issued After" } }, { "description": "Filter credit batches to only return ones issued strictly before this timestamp. Format: ISO8601-like including timezone, eg. 2024-01-01T00:00:00Z", "in": "query", "name": "issued_before", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Filter credit batches to only return ones issued strictly before this timestamp. Format: ISO8601-like including timezone, eg. 2024-01-01T00:00:00Z", "examples": [ "2024-01-01T00:00:00Z" ], "title": "Issued Before" } }, { "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" } }, { "in": "query", "name": "sort_field", "required": false, "schema": { "$ref": "#/components/schemas/CreditBatchSortField", "default": "issued_at" } }, { "in": "query", "name": "sort_direction", "required": false, "schema": { "$ref": "#/components/schemas/SortDirection", "default": "desc" } }, { "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_CreditBatch_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Organisation Credit Batches" } }, "/organisations/{id}/orders": { "get": { "description": "A paginated list of all orders placed by the organisation, sorted by descending placement date.", "operationId": "organisation_orders_organisations__id__orders_get", "parameters": [ { "description": "The ID of the organisation", "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_", "description": "The ID of the organisation" } }, { "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_Order_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Organisation Orders" } }, "/projects": { "get": { "description": "A paginated list of all projects on Isometric's registry.\n\nReturned list of projects will be sorted alphabetically by project name.", "operationId": "projects_projects_get", "parameters": [ { "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_Project_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Projects" } }, "/projects/{id}": { "get": { "description": "Information about a specific project.", "operationId": "project_projects__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Project_" } }, { "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": { "anyOf": [ { "$ref": "#/components/schemas/Project" }, { "type": "null" } ], "title": "Response Project Projects Id Get" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Project" } }, "/projects/{id}/documents": { "get": { "description": "A paginated list of all project documents for the given project.\n\nReturned list of documents will be sorted alphabetically by document name.", "operationId": "project_documents_projects__id__documents_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Project_" } }, { "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_ProjectDocument_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Project Documents" } }, "/refunds/{id}": { "get": { "description": "Information about a specific refund.", "operationId": "refund_refunds__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_BufferPoolRefund_" } }, { "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/BufferPoolRefund" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Refund" } }, "/refunds/{id}/credit_batches": { "get": { "description": "List of credit batches in a given refund.", "operationId": "refund_credit_batches_refunds__id__credit_batches_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_BufferPoolRefund_" } }, { "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/ListResource_CreditBatch_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Refund Credit Batches" } }, "/retirements": { "get": { "description": "A paginated list of all retirements on Isometric's registry.\n\nReturned list of retirements will be sorted by most recently delivered first.", "operationId": "retirements_retirements_get", "parameters": [ { "in": "query", "name": "beneficiary_org_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_" }, { "type": "null" } ], "title": "Beneficiary Org Id" } }, { "in": "query", "name": "owner_org_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_" }, { "type": "null" } ], "title": "Owner Org 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_Retirement_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retirements" }, "post": { "description": "Retire credits from specific batches, in whole or with splits. All credit batches must originate from the same supplier and be owned by the current organisation.", "operationId": "create_retirement_retirements_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/CreateRetirementByBatchRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Retirement" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Retirement" } }, "/retirements/from_oldest_credits": { "post": { "description": "Retire oldest available credits from a given supplier. If vintage is specified, this will retire the oldest credits from that vintage only.", "operationId": "create_retirement_from_oldest_credits_retirements_from_oldest_credits_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/CreateRetirementOldestCreditsRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Retirement" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Retirement From Oldest Credits" } }, "/retirements/{id}": { "get": { "description": "Information about a specific retirement.", "operationId": "retirement_retirements__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Retirement_" } }, { "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/Retirement" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retirement" } }, "/retirements/{id}/credit_batches": { "get": { "description": "List of credit batches for a given retirement.", "operationId": "retirement_credit_batches_retirements__id__credit_batches_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Retirement_" } }, { "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/ListResource_CreditBatch_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retirement Credit Batches" } }, "/stripe/checkout": { "post": { "description": "Create a Stripe Checkout Session for purchasing credits with Isometric verification.\nThis endpoint returns a Stripe Checkout URL to redirect the user to for completing the payment.", "operationId": "create_stripe_checkout_session_stripe_checkout_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/CreateStripeCheckoutSessionRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StripeCheckoutResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Stripe Checkout Session" } }, "/stripe/configuration": { "get": { "description": "Get Stripe configuration for the current organisation.\nThis will return 404 if the current organisation is not set up for Stripe Connect.", "operationId": "get_stripe_configuration_stripe_configuration_get", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupplierStripeConfiguration" } } }, "description": "Successful Response" }, "404": { "description": "Supplier not set up for Stripe Connect" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Get Stripe Configuration" } }, "/supplier": { "get": { "description": "The supplier currently authenticated.\n\nUse this endpoint to get your supplier_id and organisation_id.", "operationId": "current_supplier_supplier_get", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Supplier" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Current Supplier" } }, "/suppliers": { "get": { "description": "Information about a specific supplier.", "operationId": "suppliers_suppliers_get", "parameters": [ { "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_Supplier_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Suppliers" } }, "/suppliers/{id}": { "get": { "description": "The organisation currently authenticated.\n\nUse this endpoint to get your organisation_id.", "operationId": "supplier_suppliers__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Supplier_" } }, { "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": { "anyOf": [ { "$ref": "#/components/schemas/Supplier" }, { "type": "null" } ], "title": "Response Supplier Suppliers Id Get" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Supplier" } }, "/suppliers/{id}/deliveries": { "get": { "description": "List of deliveries for a given supplier.\n\nDeliveries are sorted by most recently delivered first.", "operationId": "supplier_deliveries_suppliers__id__deliveries_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Supplier_" } }, { "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_Delivery_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Supplier Deliveries" } }, "/suppliers/{id}/issuances": { "get": { "description": "List of issuances for a given supplier.\n\nIssuances are sorted by most recently created first.", "operationId": "supplier_issuances_suppliers__id__issuances_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Supplier_" } }, { "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_Issuance_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Supplier Issuances" } }, "/suppliers/{id}/orders": { "get": { "description": "List of orders for a given supplier.\n\nOrders are sorted by most recently placed first.", "operationId": "supplier_orders_suppliers__id__orders_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Supplier_" } }, { "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_Order_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Supplier Orders" } }, "/suppliers/{id}/projects": { "get": { "description": "List of projects for a given supplier.\n\nProjects are sorted by most recently created first.", "operationId": "supplier_projects_suppliers__id__projects_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Supplier_" } }, { "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_Project_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Supplier Projects" } }, "/transferees": { "get": { "description": "A paginated list of Organisations which the currently authenticated organisation can transfer active credits to, using the `POST /transfers` endpoint.", "operationId": "transferees_transferees_get", "parameters": [ { "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_Organisation_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Transferees" } }, "/transfers": { "get": { "description": "A paginated list of all transfers on Isometric's registry.\n\nReturned list of transfers will be sorted by most recently transferred first.", "operationId": "transfers_transfers_get", "parameters": [ { "in": "query", "name": "from_organisation_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_" }, { "type": "null" } ], "title": "From Organisation Id" } }, { "in": "query", "name": "to_organisation_id", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/IsometricIDQueryParam_Organisation_" }, { "type": "null" } ], "title": "To Organisation 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_Transfer_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Transfers" }, "post": { "description": "Transfer credits from specific batches, in whole or with splits. All credit batches must originate from the same supplier and be owned by the current organisation.", "operationId": "create_transfer_transfers_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/CreateTransferRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transfer" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create Transfer" } }, "/transfers/{id}": { "get": { "description": "Information about a specific transfer.", "operationId": "transfer_transfers__id__get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Transfer_" } }, { "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/Transfer" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Transfer" } }, "/transfers/{id}/credit_batches": { "get": { "description": "List of credit batches in a given transfer.", "operationId": "transfer_credit_batches_transfers__id__credit_batches_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "$ref": "#/components/schemas/IsometricIDPathParam_Transfer_" } }, { "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/ListResource_CreditBatch_" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Transfer Credit Batches" } } }, "servers": [ { "description": "Sandbox Isometric Registry API", "url": "https://api.sandbox.isometric.com/registry/v0" }, { "description": "Production Isometric Registry API", "url": "https://api.isometric.com/registry/v0" } ] }