Isometric Registry API

The Registry API exposes Isometric's public carbon removal registry — issuances, credit batches, organization credit balances, transfers, retirements, refunds, orders, deliveries, projects, suppliers, and project documents — alongside transactional operations to create transfers, retirements (including retire-from-oldest-credits), deliveries, beneficiaries, and Stripe checkout sessions. Operates against /registry/v0 on both sandbox and production environments using bearer + x-client-secret authentication. Includes 38 paths and 79 schemas. Already consumed by CDR.fyi, MSCI, Sylvera, and CEEZER for real-time CDR market data.

Isometric Registry API is one of 2 APIs that Isometric publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Registry, Carbon Credits, Issuances, Retirements, and Transfers. The published artifact set on APIs.io includes API documentation, authentication docs, an OpenAPI specification, and a changelog.

OpenAPI Specification

isometric-registry-api-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Isometric Registry API","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<Frame caption=\"Order of events related to credit issuance and retirement\">\n![Credit issuance journey diagram](/images/credit-journey.png)\n</Frame>\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<Tip>\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</Tip>\n\n<Frame caption=\"Example credit batch splitting process\">\n![Credit batch splitting example diagram](/images/credit-splitting.png)\n</Frame>\n","version":"v0"},"servers":[{"url":"/registry/v0"},{"url":"https://api.sandbox.isometric.com/registry/v0","description":"Sandbox Isometric Registry API"},{"url":"https://api.isometric.com/registry/v0","description":"Production Isometric Registry API"}],"paths":{"/organisation":{"get":{"summary":"Current Organisation","description":"The organisation currently authenticated.\n\nUse this endpoint to get your organisation_id.","operationId":"current_organisation_organisation_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organisation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organisations/{id}":{"get":{"summary":"Organisation","description":"Information about a specific organisation.","operationId":"organisation_organisations__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Organisation_"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Organisation"},{"type":"null"}],"title":"Response Organisation Organisations  Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organisations/{id}/orders":{"get":{"summary":"Organisation Orders","description":"A paginated list of all orders placed by the organisation, sorted by descending placement date.","operationId":"organisation_orders_organisations__id__orders_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDQueryParam_Organisation_","description":"The ID of the organisation"},"description":"The ID of the organisation"},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_Order_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organisations/{id}/credit_balance":{"get":{"summary":"Organisation Credit Balance","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","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Organisation_"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationCreditBalance"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organisations/{id}/credit_batches":{"get":{"summary":"Organisation Credit Batches","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","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDQueryParam_Organisation_","description":"The ID of the organisation."},"description":"The ID of the organisation."},{"name":"supplier_id","in":"query","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 supplier that was issued the credits"},{"name":"project_id","in":"query","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 the project that the credits were issued for"},{"name":"issuance_id","in":"query","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 their issuance"},{"name":"delivery_id","in":"query","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 delivery that they were part of"},{"name":"order_id","in":"query","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 order they have been delivered against"},{"name":"retirement_id","in":"query","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 the retirement they have been part of"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/CreditBatchStatus"}},{"type":"null"}],"description":"Filter credit batches by status. Note that 'split' status is excluded by default.","title":"Status"},"description":"Filter credit batches by status. Note that 'split' status is excluded by default."},{"name":"issued_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"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 after this timestamp. Format: ISO8601-like including timezone, eg. 2021-01-01T00:00:00Z"},{"name":"issued_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"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"},"description":"Filter credit batches to only return ones issued strictly before this timestamp. Format: ISO8601-like including timezone, eg. 2024-01-01T00:00:00Z"},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"sort_field","in":"query","required":false,"schema":{"$ref":"#/components/schemas/CreditBatchSortField","default":"issued_at"}},{"name":"sort_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDirection","default":"desc"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_CreditBatch_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/supplier":{"get":{"summary":"Current Supplier","description":"The supplier currently authenticated.\n\nUse this endpoint to get your supplier_id and organisation_id.","operationId":"current_supplier_supplier_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Supplier"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers/{id}":{"get":{"summary":"Supplier","description":"The organisation currently authenticated.\n\nUse this endpoint to get your organisation_id.","operationId":"supplier_suppliers__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Supplier_"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Supplier"},{"type":"null"}],"title":"Response Supplier Suppliers  Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers":{"get":{"summary":"Suppliers","description":"Information about a specific supplier.","operationId":"suppliers_suppliers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_Supplier_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers/{id}/projects":{"get":{"summary":"Supplier Projects","description":"List of projects for a given supplier.\n\nProjects are sorted by most recently created first.","operationId":"supplier_projects_suppliers__id__projects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Supplier_"}},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_Project_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers/{id}/orders":{"get":{"summary":"Supplier Orders","description":"List of orders for a given supplier.\n\nOrders are sorted by most recently placed first.","operationId":"supplier_orders_suppliers__id__orders_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Supplier_"}},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_Order_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers/{id}/deliveries":{"get":{"summary":"Supplier Deliveries","description":"List of deliveries for a given supplier.\n\nDeliveries are sorted by most recently delivered first.","operationId":"supplier_deliveries_suppliers__id__deliveries_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IsometricIDPathParam_Supplier_"}},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"Last"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"first","in":"query","required":false,"schema":{"type":"integer","maximum":50,"exclusiveMinimum":0,"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.","default":10,"title":"First"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"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"}},{"name":"x-client-secret","in":"header","required":true,"schema":{"type":"string","title":"Client secret","description":"A secret token identifying the client connecting to the API","examples":["Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"]},"description":"A secret token identifying the client connecting to the API"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedListResource_Delivery_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/suppliers/{id}/issuances":{"get":{"summary":"Supplier Issuances","description":"List of issuances for a given supplier.\n\nIssuances are sorted by most recently create

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/isometric-co/refs/heads/main/openapi/isometric-registry-api-openapi.json