Skip to content

Xpansiv Connect API (1.0.0-beta)

This is the OpenAPI spec for Xpansiv Connect API. Documentation: https://developer.xpansiv.com/developer-portal/

Languages
Servers
SANDBOX
https://sandbox.preprod.connect.xpansiv.com/app/api/v1/
UAT
https://uat.preprod.connect.xpansiv.com/app/api/v1/
PROD
https://connect.xpansiv.com/app/api/v1/

Account

The Account API allows uses of Xpansiv Connect to pull a list of their registry sub-accounts. As related to the retirement activity, the list reflects the retirement sub-accounts which are required when executing retirements in specific registries or when searching retirement history. The registries with data to return for this call are NEPOOL, M_RETS, NAR, MIRECS, NCRETS, NYGATS, TIGR, CAR, VCS, ACR, RMS AND TERCS.

Operations

Exchange

The Exchange APIs allow users to take various actions, both read and write, for their interactions with execution venues, such as the CBL platform. The Get Accounts API allows the user to pull their active accounts, and the programs associated with those accounts, linked with the execution venue. The Search Deposits API allows the user to search the current deposits placed on execution venues. The Deposit Creation API allows the user to place inventory on deposit on a target execution venue. The Deposit Withdraw API allows the user to withdraw and place back into inventory deposits held on an execution venue. The Deposit Withdraw and Create Retirements API allows the user to withdraw and retire deposits held on an execution venue. The Deposit Settlement API call would be used to settle executed trades on an execution venue by an execution venue operator.

Operations

Get accounts

Request

List of accounts subscribed to an exchange

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
curl -i -X GET \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/accounts' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of accounts details

Bodyapplication/jsonArray [
identifierstringrequired

The account id.

Example: "098B0A25"
exchangeIdentifierstringrequired

Exchange identifier.

executionVenueLinksArray of objects
registryLinksArray of objects
]
Response
application/json
[ { "identifier": "098B0A25", "exchangeIdentifier": "string", "executionVenueLinks": [], "registryLinks": [] } ]

Search deposits

Request

Get list of deposits for an exchange

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
AccountIdentifierstringrequired

Account identifier

Example: 098B0A25
curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/accounts/098B0A25/action/search-deposits' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of deposits

Bodyapplication/jsonArray [
depositIdentifierstringrequired

Unique identifier.

executionVenueobjectrequired
executionVenue.​codestringrequired

Target execution venue code.

executionVenue.​namestringrequired

Target execution venue code name.

depositMarketobject
taxLotobjectrequired
taxLot.​namestringrequired

The name of the TaxLot associated with the deposit.

instrumentobjectrequired
instrument.​einstringrequired

The EIN code for the deposit.

instrument.​descriptionstringrequired

The Xpansiv Connect description for the EIN on the deposit.

instrument.​typestring

Denotes whether the deposit is for CARBON or REC.

Enum"CARBON""REC"
instrument.​programstringrequired

The program associated with the product on deposit.

instrument.​vintageobject(Vintage)required
instrument.​vintage.​yearinteger(int32)required

Vintage year.

instrument.​vintage.​monthinteger(int32)

Vintage month.

instrument.​resourceobjectrequired
instrument.​resource.​namestringrequired

The registry name of the item on deposit.

instrument.​resource.​registryAssignedIdstring

The registry assigned id for the item on deposit.

quantityinteger(int64)required

The original quantity of the deposit.

availableQuantityinteger(int64)required

The remaining quantity of the deposit.

settledQuantityinteger(int64)required

The quantity of the deposit settled as a result of trading activity.

statusstring(DepositStatus)required

The current status of the deposit in relation to the execution venue.

Enum"PENDING""DEPOSITED""REJECTED"
]
Response
application/json
[ { "depositIdentifier": "string", "executionVenue": {}, "depositMarket": {}, "taxLot": {}, "instrument": {}, "quantity": 0, "availableQuantity": 0, "settledQuantity": 0, "status": "PENDING" } ]

Deposits creation

Request

Deposits creation

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
ExecutionVenueCodestringrequired

Ref.Data.EXECUTION_VENUE

AccountIdentifierstringrequired

Account identifier

Example: 098B0A25
Bodyapplication/jsonrequired
marketstringrequired
depositsArray of objectsnon-emptyrequired
deposits[].​taxLotIdinteger(int64)required

TaxLot id of the inventory selected for the deposit to the execution venue.

deposits[].​quantityinteger(int64)>= 1required

Quantity to be deposited.

deposits[].​priorityinteger(int64)

Priority for the deposit to be used in the trade settlement process.

curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/execution-venues/{ExecutionVenueCode}/accounts/098B0A25/action/deposit' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "market": "string",
    "deposits": [
      {
        "taxLotId": 0,
        "quantity": 1,
        "priority": 0
      }
    ]
  }'

Responses

Deposits created

Bodyapplication/jsonArray [
depositIdentifierstringrequired
statusstring(DepositStatus)required

The current status of the deposit in relation to the execution venue.

Enum"PENDING""DEPOSITED""REJECTED"
]
Response
application/json
[ { "depositIdentifier": "string", "status": "PENDING" } ]

Deposits withdraw

Request

Deposits withdraw

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
AccountIdentifierstringrequired

Account identifier

Example: 098B0A25
Bodyapplication/jsonrequired
withdrawalsArray of objectsnon-emptyrequired
withdrawals[].​depositIdentifierstringrequired

The depositIdentifier of the deposit to withdraw.

withdrawals[].​quantityinteger(int64)>= 1required

Quantity of the amount on deposit to be withdrawn.

curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/accounts/098B0A25/action/withdraw' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "withdrawals": [
      {
        "depositIdentifier": "string",
        "quantity": 1
      }
    ]
  }'

Responses

Deposits withdrawn

Bodyapplication/jsonArray [
depositIdentifierstringrequired

The depositIdentifier with which the withdraw request was made.

statusstringrequired

Status of the deposit withdrawal request.

Enum"WITHDRAWN""FAILED""REJECTED""NO_AVAILABLE_QUANTITY"
]
Response
application/json
[ { "depositIdentifier": "string", "status": "WITHDRAWN" } ]

Withdraw credits and create retirements

Request

Allows the combination of withdrawal of credits and creation of retirements in bulk

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
AccountIdentifierstringrequired

Account identifier

Example: 098B0A25
RetirementProgramCodestring(RetirementProgramCode)required

Program code allowed for retirements

Enum"ACR""CAR""VCS""NEPOOL""NAR""NYGATS""M_RETS""MIRECS""NCRETS"
Bodyapplication/jsonrequired
dryRunbooleanrequired

If true it will only do the validation of the request but not to create the retirements

retirementsArray of objectsrequired
retirements[].​einstringrequired
retirements[].​quantityinteger(int64)required
retirements[].​externalIdentifierstring
attributesobject
curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/account/098B0A25/program/{RetirementProgramCode}/action/withdraw-and-retire' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "dryRun": true,
    "retirements": [
      {
        "ein": "string",
        "quantity": 0,
        "externalIdentifier": "string"
      }
    ],
    "attributes": {}
  }'

Responses

Retirements

Bodyapplication/json
retirementsArray of objects(Retirement)required
retirements[].​instrumentCarbonInstrument (object) or RecInstrument (object) or ResourceInstrument (object)(Instrument)required
One of:
retirements[].​instrument.​typestringrequired

REC or CARBON

retirements[].​instrument.​idinteger(int64)

Unique Xpansiv Connect identifier.

retirements[].​instrument.​einstringrequired

Environment Instrument Number. Unique identifier associated with an issuance of credits from a given project, vintage, technology/fuel type and associated certification(s)/eligibility(s). An EIN is associated with a position and a position will never be associated with more than 1 EIN.

retirements[].​instrument.​descriptionstring

The Xpansiv Connect description associated with the instrument providing information regarding location, vintage, fuel type and certifications.

retirements[].​instrument.​programstringrequired
retirements[].​instrument.​vintageobject(Vintage)required
retirements[].​instrument.​vintage.​yearinteger(int32)required

Vintage year.

retirements[].​instrument.​vintage.​monthinteger(int32)

Vintage month.

retirements[].​instrument.​marketsArray of objects(InstrumentMarket)

Optional property. Use include param.

retirements[].​instrument.​creditTypestringrequired

The type of the credit.

retirements[].​instrument.​serialNumberstring
retirements[].​instrument.​issuanceCertificationsArray of objects(IssuanceCertification)

Optional property. Use include param.

retirements[].​instrument.​projectCertificationsArray of objects(ProjectCertification)

Optional property. Use include param.

retirements[].​instrument.​reportingPeriodStartstring(date-time)

Reporting period start date.

retirements[].​instrument.​reportingPeriodEndstring(date-time)

Reporting period end date.

retirements[].​instrument.​projectobject(Project)required
retirements[].​instrument.​project.​idinteger(int64)

The unique XC db identifier for the project or generator.

retirements[].​instrument.​project.​upnstring

Universal Project Identifier. The unique identifier assigned by Xpansiv Connect to every resource across all registries that have integrated with the Xpansiv Connect platform.

retirements[].​instrument.​project.​namestringrequired

The registry assigned name of the project or generator.

retirements[].​instrument.​project.​programsArray of objects(ProjectProgram)required
retirements[].​instrument.​project.​programs[].​programstring(CarbonProgramCode)required

Ref.Data.PROGRAM_PROG

retirements[].​instrument.​project.​programs[].​programNamestring

Registry name.

retirements[].​instrument.​project.​programs[].​registryAssignedIdstringrequired

ID assigned by the registry.

retirements[].​instrument.​project.​programs[].​registryAccountHolderNamestring

Name of the registry account holder.

retirements[].​instrument.​project.​programs[].​statusstringrequired

The status of the project.

retirements[].​instrument.​project.​programs[].​creditTypestringrequired

The type of the credit

retirements[].​instrument.​project.​programs[].​projectTypestringrequired

The project type.

retirements[].​instrument.​project.​programs[].​baselineMethodologiesArray of strings
retirements[].​instrument.​project.​programs[].​creditingPeriodBeginstring(date-time)

Begin date for credit reporting.

retirements[].​instrument.​project.​programs[].​creditingPeriodEndstring(date-time)

End date for credit reporting.

retirements[].​instrument.​project.​descriptionstring

The full description from the registry.

retirements[].​instrument.​project.​statusstring(ProjectStatus)
Enum"IMPORTED""INACTIVE""PENDING_IMPORT""REJECTED"
retirements[].​instrument.​project.​countrystring

Country.

retirements[].​instrument.​project.​stateProvincestring

State or Province

retirements[].​instrument.​project.​citystring

City.

retirements[].​instrument.​project.​locationobject(Resource location)
retirements[].​instrument.​project.​annualAverageOffsetQtyinteger(int64)

Annual average offset quantity.

retirements[].​instrument.​project.​projectCertificationsArray of objects(ProjectCertification)

Optional property. Use include param.

retirements[].​instrument.​project.​issuanceCertificationsArray of objects(IssuanceCertification)

Optional property. Use include param.

retirements[].​lastUpdatedDatestring(date-time)required

Last updated date.

retirements[].​createdDatestring(date-time)required

Creation date.

retirements[].​quantityintegerrequired

Retirement quantity.

retirements[].​statusstring(RetirementStatus)required

Status of the retirement.

Enum"NEW""PENDING_RETIREMENT""PENDING_CUSTODIAN_RETIREMENT""RETIRED""FAILED""CANCELLED""REJECTED""NOT_FOUND"
retirements[].​batchIdentifierstringrequired

XPC Retirement batch identifier

retirements[].​identifierstringrequired

XPC Retirement identifier

retirements[].​externalIdentifierstring

Retirement identifier provided by API client when creating the retirement

retirements[].​registryTransferIdentifierstring

Retirement identifier generated by the program

retirements[].​registryPositionIdstring

Id of the retired registry credits

retirements[].​attributesobject
batchIdentifierstringrequired

EMA retirement batch identifier

Response
application/json
{ "retirements": [ {} ], "batchIdentifier": "string" }

Withdraw credits and create exports

Request

Allows the combination of withdrawal of credits and creation of export in bulk

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
AccountIdentifierstringrequired

Account identifier

Example: 098B0A25
ProgramCodestring(ProgramCode)required

Any program code. Ref.Data.REGISTRY_PROGRAM_REGI

Bodyapplication/jsonrequired
dryRunboolean

If true it will only do the validation of the request but not withdraw nor export

exportsArray of objectsrequired
exports[].​einstringrequired
exports[].​quantityinteger(int64)required
exports[].​externalIdentifierstring
curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/account/098B0A25/program/{ProgramCode}/action/withdraw-and-export' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "dryRun": true,
    "exports": [
      {
        "ein": "string",
        "quantity": 0,
        "externalIdentifier": "string"
      }
    ]
  }'

Responses

Successful withdraw and export

Bodyapplication/json
batchIdentifierstringrequired

EMA export batch identifier

exportsArray of objectsrequired
exports[].​transferIdentifierstringrequired
exports[].​externalIdentifierstring
Response
application/json
{ "batchIdentifier": "string", "exports": [ {} ] }

Deposits settlement

Request

Deposits settlement

Security
bearerToken
Path
ExchangeCodestringrequired

Exchange code

Example: CBL , RVCMC
ExecutionVenueCodestringrequired

Ref.Data.EXECUTION_VENUE

Bodyapplication/jsonrequired
tradeIdentifierstringnon-emptyrequired
sellerIdentifierstring>= 8 charactersrequired
Example: "098B0A25"
buyerIdentifierstring>= 8 charactersrequired
Example: "098B0A25"
productCodestring>= 3 charactersrequired
quantityinteger(int64)> 0required
Example: 100
pricenumber(double)> 0required
Example: 3.12
currencystring>= 3 charactersrequired
Example: "USD"
curl -i -X POST \
  'https://sandbox.preprod.connect.xpansiv.com/app/api/v1/exchanges/CBL , RVCMC/execution-venues/{ExecutionVenueCode}/action/settle' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "tradeIdentifier": "string",
    "sellerIdentifier": "098B0A25",
    "buyerIdentifier": "098B0A25",
    "productCode": "string",
    "quantity": 100,
    "price": 3.12,
    "currency": "USD"
  }'

Responses

Settlement created

Response
No content

Forward Deals

The Forward Deals API allows the user to search The Forward Deals associated with their Xpansiv Connect account and/or other Xpansiv Connect accounts that have granted their user that access. Forward Deal information is returned based on a Deal's last updated date. Note that this call has a number of optional fields that the users needs to include if desired in the output.

Operations

Issuances

The Issuance API allows the user to pull information on any Issuances associated with their account, or permissioned account, for the various registries they are linked with. The Instrument details on the Issuance will be returned in the format of a Carbon Instrument (type CARBON) or a REC Instrument (type REC) as appropriate. Each of the types are returned with data specific to the Carbon or REC attributes.

Operations

Portfolio

The Portfolio API allows the user to search their credit inventory (tax lot) data on active positions across all registry accounts linked to their Xpansiv Connect account and/or other Xpansiv Connect accounts that have granted their user that access. Note that This call has a number of optional fields that the user needs to include if desired in the output.

Operations

Projects

The Project API allows the user to pull publicly available information about carbon projects registered in the registries that are integrated with Xpansiv Connect. Note - this call has a number of optional fields that the user needs to include if desired in the output.

Operations

ReferenceData

The Reference Data API enables discovering Xpansiv Connect reference data types and values.

Operations

Reports

The Reports API allows the user to retrieve a comprehensive credit inventory (aka Tax Lot by Program Report) on all active positions with a single call across all registry accounts linked to their Xpansiv Connect account or other Xpansiv Connect accounts that have granted their user that access. Note - this call has a number of optional fields that the user needs to include if desired in the output.

Operations

Retirements

The Retirements APIs allow users to take various actions, both read and write, for their retirement activity. The Create Retirements API allows users of Xpansiv Connect to retire one or more positions from their linked registry accounts and/or other Xpansiv Connect accounts that have granted their API user with that access. The Get Registry Rules API call provides the user with the information required to pass the correct rule attributes specific to each registry with each retirement attempt. The Check Retirement Status API allows users to query the status of their retirements. The Search retirements API allows users search their retirement history. Note - this call has a number of optional fields that the user needs to include if desired in the output.

Operations

Split Lots

The Split Lots API allows the user to search split lot data on their Xpansiv Connect account and/or other Xpansiv Connect accounts that have granted your user that access.

Operations

Transfers

The Transfers APIs allow users to take various actions, both read and write, for their bilateral transaction activity. The Search Transfers API allows the user to search registry transfer data for their Xpansiv Connect account and/or other Xpansiv Connect accounts that have granted your user that access. Note - this call has a number of optional fields that the user needs to include if desired in the output. The Create Transfers API allows the user to create new bilateral transfers. The Cancel Transfers API allows the user to cancel/withdrawal any pending outgoing transfers. The Reject Transfers API allows the user to reject any pending incoming transfer. The Accept Transfers API allows the user to accept any pending incoming transfer.

Operations

AccountHolders

Operations

Generators

Operations

Instruments

Operations