openapi: 3.0.3 info: title: Patch Carbon Order Line Items Projects API version: '2' description: 'The Patch API lets developers browse verified carbon projects, generate emissions estimates, and place orders for carbon credits and removals. Reconstructed from the publicly published patch-python, patch-node, and patch-ruby SDKs (auto-generated by openapi-generator from the official Patch OpenAPI document). ' contact: name: Patch Engineering email: engineering@usepatch.com url: https://docs.patch.io/ license: name: Proprietary url: https://www.patch.io/terms servers: - url: https://api.patch.io description: Production API security: - bearerAuth: [] tags: - name: Projects description: Browse and retrieve verified carbon projects across removal and avoidance categories. paths: /v1/projects: get: tags: - Projects operationId: retrieveProjects summary: List Projects description: Returns a paginated list of verified carbon projects available for purchase through Patch. parameters: - $ref: '#/components/parameters/PageParam' - name: country in: query schema: type: string description: ISO 3166-1 alpha-2 country code filter. - name: type in: query schema: type: string description: Filter by project type slug (for example biomass, dac, mineralization, redd_plus). - name: minimum_available_mass in: query schema: type: integer description: Minimum available mass (in grams) the project must have in inventory. responses: '200': description: Project list response content: application/json: schema: $ref: '#/components/schemas/ProjectListResponse' '401': $ref: '#/components/responses/Unauthorized' /v1/projects/{id}: get: tags: - Projects operationId: retrieveProject summary: Retrieve A Project description: Returns a single verified carbon project by ID. parameters: - name: id in: path required: true schema: type: string responses: '200': description: Project response content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: TechnologyType: type: object properties: slug: type: string example: dac name: type: string example: Direct Air Capture parent_technology_type: $ref: '#/components/schemas/ParentTechnologyType' ErrorResponse: type: object properties: success: type: boolean example: false error: type: object properties: code: type: integer message: type: string data: nullable: true meta: type: object properties: patch_version: type: integer Inventory: type: object description: Available inventory broken out by vintage and price. properties: vintage_year: type: integer nullable: true vintage_start_year: type: integer nullable: true vintage_end_year: type: integer nullable: true amount_available: type: integer description: Available mass in grams. price: type: integer description: Per-tonne price in minor currency units. currency: type: string example: USD Photo: type: object properties: id: type: string url: type: string format: uri Meta: type: object description: Pagination and response metadata block returned on list endpoints. properties: prev_page: type: integer nullable: true next_page: type: integer nullable: true ProjectListResponse: type: object properties: success: type: boolean error: nullable: true data: type: array items: $ref: '#/components/schemas/Project' meta: $ref: '#/components/schemas/Meta' Standard: type: object description: Carbon registry / standard the project is certified under (Verra, Gold Standard, Puro, ACR, CAR, etc.). properties: type: type: string acronym: type: string ProjectResponse: type: object properties: success: type: boolean error: nullable: true data: $ref: '#/components/schemas/Project' meta: $ref: '#/components/schemas/Meta' Project: type: object description: A verified carbon project listed on Patch. properties: id: type: string production: type: boolean name: type: string description: type: string mechanism: type: string description: Removal or avoidance. country: type: string state: type: string issuance_type: type: string latitude: type: number format: float longitude: type: number format: float project_partner: type: string photos: type: array items: $ref: '#/components/schemas/Photo' verifier: type: string standard: $ref: '#/components/schemas/Standard' sdgs: type: array items: $ref: '#/components/schemas/Sdg' tagline: type: string technology_type: $ref: '#/components/schemas/TechnologyType' highlights: type: array items: $ref: '#/components/schemas/Highlight' inventory: type: array items: $ref: '#/components/schemas/Inventory' disclaimers: type: array items: $ref: '#/components/schemas/Disclaimer' Highlight: type: object properties: headline: type: string details: type: string Sdg: type: object description: UN Sustainable Development Goal alignment. properties: number: type: integer title: type: string description: type: string Disclaimer: type: object properties: title: type: string body: type: string ParentTechnologyType: type: object properties: slug: type: string name: type: string responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: API key missing, malformed, or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: PageParam: name: page in: query schema: type: integer minimum: 1 default: 1 description: 1-indexed page number for paginated responses. securitySchemes: bearerAuth: type: http scheme: bearer description: API key bearer token issued from the Patch dashboard. Sandbox and live keys are separated.