LI.FI advanced API
The advanced API from LI.FI — 3 operation(s) for advanced.
The advanced API from LI.FI — 3 operation(s) for advanced.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/lifi-advanced-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: LI.FI Advanced API
version: 1.0.0
description: LI.FI provides the best cross-chain swap across all liquidity pools and bridges.
servers:
- url: https://li.quest
description: LI.FI Production Environment
- url: https://staging.li.quest
description: LI.FI Staging Environment
tags:
- name: advanced
paths:
/v1/advanced/possibilities:
description: ''
post:
requestBody:
description: 'Object defining preferences regarding chain, exchanges and bridges.
Retrieve the up-to-date lists of supported exchanges and bridges from the `/v1/tools` endpoint.'
content:
application/json:
schema:
$ref: '#/components/schemas/PossibilitiesRequest'
examples:
PossibilitiesRequestExample:
value:
chains:
- 100
- 137
bridges:
allow:
- relay
- hop
deny:
- cbridge
prefer:
- relay
exchanges:
allow:
- 1inch
- paraswap
- openocean
deny:
- 0x
prefer:
- 1inch
tags:
- advanced
parameters:
- name: x-lifi-api-key
description: Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.
schema:
type: string
in: header
required: false
responses:
'200':
$ref: '#/components/responses/PossibilitiesResponse'
deprecated: true
summary: Get information about available services, chains and tokens
description: 'Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
**Attention**: This request is more complex and intended to be used via our [JavaScript SDK](https://docs.li.fi/integrate-li.fi-js-sdk/install-li.fi-sdk).'
/v1/advanced/routes:
post:
requestBody:
description: The request object describes a desired any-to-any transfer and contains all information necessary to calculate the most efficient routes.
content:
application/json:
schema:
$ref: '#/components/schemas/RoutesRequest'
examples:
RoutesRequestExample:
value:
fromChainId: 100
fromAmount: '1000000000000000000'
fromTokenAddress: '0x0000000000000000000000000000000000000000'
toChainId: 137
toTokenAddress: '0x0000000000000000000000000000000000000000'
options:
integrator: fee-demo
referrer: '0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0'
slippage: 0.003
fee: 0.02
bridges:
allow:
- relay
exchanges:
allow:
- 1inch
- openocean
allowSwitchChain: true
order: CHEAPEST
maxPriceImpact: 0.1
required: true
tags:
- advanced
parameters:
- name: x-lifi-api-key
description: Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.
schema:
type: string
in: header
responses:
'200':
$ref: '#/components/responses/RoutesResponse'
'400':
$ref: '#/components/responses/InvalidRoutesRequest'
'404':
$ref: '#/components/responses/InvalidRoutesNotFoundRequest'
summary: Get a set of routes for a request that describes a transfer of tokens
description: 'In order to execute any transfer, you must first request possible `Routes`. From the result set a `Route` can be selected and executed by retrieving the transaction for every included `Step` using the `/steps/transaction` endpoint.
**Attention**: This request is more complex and intended to be used via our [JavaScript SDK](https://docs.li.fi/integrate-li.fi-js-sdk/install-li.fi-sdk).'
/v1/advanced/stepTransaction:
post:
requestBody:
description: The step object
content:
application/json:
schema:
$ref: '#/components/schemas/Step'
examples:
StepRequestExample:
value:
id: a8dc011a-f52d-4492-9e99-21de64b5453a
type: lifi
tool: 1inch
toolDetails:
key: 1inch
logoURI: https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg
name: 1inch
action:
fromChainId: 100
toChainId: 100
fromToken:
address: '0x0000000000000000000000000000000000000000'
symbol: xDai
decimals: 18
chainId: 100
name: xDai
coinKey: xDai
priceUSD: '1'
logoURI: https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png
toToken:
name: Minerva Wallet SuperToken
symbol: MIVA
coinKey: MIVA
decimals: 18
chainId: 100
priceUSD: '1'
logoURI: https://minerva.digital/i/MIVA-Token_200x200.png
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
fromAmount: '1000000000000000000'
slippage: 0.003
fromAddress: '0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0'
toAddress: '0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0'
estimate:
fromAmount: '1000000000000000000'
toAmount: '21922914496086353975'
toAmountMin: '21265227061203763356'
tool: 1inch
executionDuration: 30
approvalAddress: '0x1111111254fb6c44bac0bed2854e76f90643097d'
feeCosts: []
gasCosts:
- type: SEND
price: '1'
estimate: '252364'
limit: '315455'
amount: '252364'
amountUSD: '0.00'
token:
address: '0x0000000000000000000000000000000000000000'
symbol: xDai
decimals: 18
chainId: 100
name: xDai
coinKey: xDai
priceUSD: '1'
logoURI: https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png
integrator: fee-demo
includedSteps:
- id: a8dc011a-f52d-4492-9e99-21de64b5453a
type: swap
tool: 1inch
toolDetails:
key: 1inch
logoURI: https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg
name: 1inch
action:
fromChainId: 100
toChainId: 100
fromToken:
address: '0x0000000000000000000000000000000000000000'
symbol: xDai
decimals: 18
chainId: 100
name: xDai
coinKey: xDai
priceUSD: '1'
logoURI: https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png
toToken:
name: Minerva Wallet SuperToken
symbol: MIVA
coinKey: MIVA
decimals: 18
chainId: 100
priceUSD: '1'
logoURI: https://minerva.digital/i/MIVA-Token_200x200.png
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
fromAmount: '1000000000000000000'
slippage: 0.003
fromAddress: '0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0'
toAddress: '0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0'
estimate:
fromAmount: '1000000000000000000'
toAmount: '21922914496086353975'
toAmountMin: '21265227061203763356'
tool: 1inch
executionDuration: 30
approvalAddress: '0x1111111254fb6c44bac0bed2854e76f90643097d'
feeCosts: []
gasCosts:
- type: SEND
price: '1'
estimate: '252364'
limit: '315455'
amount: '252364'
amountUSD: '0.00'
token:
address: '0x0000000000000000000000000000000000000000'
symbol: xDai
decimals: 18
chainId: 100
name: xDai
coinKey: xDai
priceUSD: '1'
logoURI: https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png
required: true
tags:
- advanced
parameters:
- name: x-lifi-api-key
description: Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.
schema:
type: string
in: header
- name: skipSimulation
description: Parameter to skip transaction simulation. The quote will be returned faster but the transaction gas limit won't be accurate.
schema:
type: boolean
in: query
required: false
- name: mayanNonEvmPermitSignature
description: Mayan specific option to bridge from non-EVM chain to Hyperliquid
schema:
type: boolean
in: query
required: false
- name: svmPriorityFeeLevel
description: Priority fee level for Solana Virtual Machine (SVM) transactions.
schema:
enum:
- NORMAL
- FAST
- ULTRA
type: string
in: query
required: false
responses:
'200':
$ref: '#/components/responses/StepResponse'
'400':
$ref: '#/components/responses/InvalidStepRequest'
summary: Populate a step with transaction data
description: 'This endpoint expects a full `Step` object which usually is retrieved by calling the `/advanced/routes` endpoint and selecting the most suitable `Route`. Afterwards the transaction for every required `Step` can be retrieved using this endpoint.
**Attention**: This request is more complex and intended to be used via our [JavaScript SDK](https://docs.li.fi/integrate-li.fi-js-sdk/install-li.fi-sdk).'
components:
schemas:
IncludedStep:
title: Root Type for Internal Step
description: Object that represents one step of an `IncludedSteps` array in `Route`
required:
- id
- action
- estimate
- tool
- type
- toolDetails
type: object
properties:
id:
description: Unique identifier of the step
type: string
type:
description: The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.
enum:
- swap
- cross
- lifi
- protocol
type: string
tool:
description: The tool used for this step. E.g. `allbridge`
type: string
toolDetails:
description: The details of the tool used for this step. E.g. `allbridge`
type: object
properties:
key:
description: The tool key
type: string
name:
description: The tool name
type: string
logoURI:
description: The tool logo URL
type: string
action:
$ref: '#/components/schemas/Action'
estimate:
$ref: '#/components/schemas/Estimate'
BridgesEnum:
type: string
description: Identifier for a bridge tool. Retrieve the latest bridge keys from the `/v1/tools` endpoint. Keywords such as `all`, `none`, `default`, and `[]` are also supported where applicable.
AllowDenyPrefer:
title: Root Type for AllowDenyPrefer
description: Object defining which tools should be allowed, denied and preferred
type: object
properties:
allow:
description: Allowed tools
type: array
items:
type: string
deny:
description: Forbidden tools
type: array
items:
type: string
prefer:
description: Preferred tools
type: array
items:
type: string
ExchangesEnum:
type: string
description: Identifier for an exchange tool. Retrieve the latest exchange keys from the `/v1/tools` endpoint. Keywords such as `all`, `none`, `default`, and `[]` are also supported where applicable.
Token:
title: Root Type for Token
description: Representation of a Token
required:
- address
- chainId
- decimals
- name
- symbol
type: object
properties:
address:
description: Address of the token
type: string
decimals:
format: number
description: Number of decimals the token uses
type: number
symbol:
description: Symbol of the token
type: string
chainId:
format: number
description: Id of the token's chain
type: number
coinKey:
description: Identifier for the token
type: string
name:
description: Name of the token
type: string
logoURI:
description: Logo of the token
type: string
priceUSD:
description: Token price in USD
type: string
example:
address: '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063'
symbol: DAI
decimals: 18
chainId: 137
name: (PoS) Dai Stablecoin
coinKey: DAI
priceUSD: '1'
logoURI: https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png
PossibilitiesTopicEnum:
enum:
- chains
- tokens
- bridges
- exchanges
type: string
BridgeDefinition:
title: Root Type for BridgeDefinition
description: The definition of a bridge with the transferrable token pair
required:
- fromChainId
- fromToken
- maximumTransfer
- minimumTransfer
- swapFeeMaximum
- swapFeeMinimum
- swapFeeRate
- toChainId
- tool
- toToken
type: object
properties:
tool:
$ref: '#/components/schemas/BridgesEnum'
fromChainId:
format: number
description: From which chain transfers can happen
type: number
fromToken:
$ref: '#/components/schemas/Token'
description: Which `Token` can be sent
properties:
address:
type: string
decimals:
format: number
type: number
symbol:
type: string
chainId:
format: number
type: number
coinKey:
type: string
name:
type: string
logoURI:
type: string
priceUSD:
type: string
toChainId:
format: number
description: To which chain transfers can happen
type: number
toToken:
$ref: '#/components/schemas/Token'
description: The `Token` that can be transferred to
properties:
address:
type: string
decimals:
format: number
type: number
symbol:
type: string
chainId:
format: number
type: number
coinKey:
type: string
name:
type: string
logoURI:
type: string
priceUSD:
type: string
maximumTransfer:
description: The maximum amount that can be sent in one transfer
type: string
minimumTransfer:
description: The minimum amount that can be sent in one transfer
type: string
swapFeeRate:
description: The rate taken for swap fees
type: string
swapFeeMinimum:
description: The minimum swap fees that will be taken
type: string
swapFeeMaximum:
description: The maximum swap fees that might occur
type: string
example:
tool: relay
fromChainId: 100
fromToken:
address: '0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1'
decimals: 18
symbol: ETH
chainId: 100
coinKey: ETH
name: ETH
logoURI: https://static.debank.com/image/xdai_token/logo_url/0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1/61844453e63cf81301f845d7864236f6.png
priceUSD: '2426.47'
toChainId: 137
toToken:
address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619'
decimals: 18
symbol: ETH
chainId: 137
coinKey: ETH
name: ETH
logoURI: https://static.debank.com/image/matic_token/logo_url/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619/61844453e63cf81301f845d7864236f6.png
priceUSD: '2426.47'
maximumTransfer: Infinity
minimumTransfer: '1'
swapFeeRate: '0.005'
swapFeeMinimum: '0'
swapFeeMaximum: Infinity
Step:
title: Root Type for Step
description: Object that represents one step of a `Route`
required:
- id
- action
- tool
- type
type: object
properties:
id:
description: Unique identifier of the step
type: string
type:
description: The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.
enum:
- swap
- cross
- lifi
- protocol
type: string
tool:
description: The tool used for this step. E.g. `relay`
type: string
toolDetails:
description: The details of the tool used for this step. E.g. `relay`
type: object
properties:
key:
description: The tool key
type: string
name:
description: The tool name
type: string
logoURI:
description: The tool logo URL
type: string
action:
$ref: '#/components/schemas/Action'
description: The action of the step
estimate:
$ref: '#/components/schemas/Estimate'
description: The estimation for the step
integrator:
description: A string containing tracking information about the integrator of the API
type: string
includedSteps:
type: array
items:
$ref: '#/components/schemas/IncludedStep'
referrer:
description: A string containing tracking information about the referrer of the integrator
type: string
execution:
description: An objection containing status information about the execution
transactionRequest:
description: An ether.js TransactionRequest that can be triggered using a wallet provider. (https://docs.ethers.io/v5/api/providers/types/#providers-TransactionRequest)
example:
id: '0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9'
type: cross
tool: relay
action:
fromChainId: 100
toChainId: 137
fromToken:
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
symbol: MIVA
decimals: 18
chainId: 100
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0.04547537276751318'
logoURI: ''
toToken:
address: '0xc0b2983a17573660053beeed6fdb1053107cf387'
symbol: MIVA
decimals: 18
chainId: 137
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0'
logoURI: ''
fromAmount: '1000000000000000000'
slippage: 0.003
estimate:
fromAmount: '1000000000000000000'
toAmount: '999500000000000000'
toAmountMin: '999500000000000000'
approvalAddress: '0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93'
feeCosts:
- name: Gas Fee
description: Covers gas expense for sending funds to user on receiving chain.
percentage: '0'
token:
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
symbol: MIVA
decimals: 18
chainId: 100
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0.04547537276751318'
logoURI: ''
amount: '0'
amountUSD: '0.00'
included: true
- name: Relay Fee
description: Covers gas expense for claiming user funds on receiving chain.
percentage: '0'
token:
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
symbol: MIVA
decimals: 18
chainId: 100
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0.04547537276751318'
logoURI: ''
amount: '0'
amountUSD: '0.00'
included: true
- name: Router Fee
description: Router service fee.
percentage: '0.0005'
token:
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
symbol: MIVA
decimals: 18
chainId: 100
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0.04547537276751318'
logoURI: ''
amount: '500000000000000'
amountUSD: '22737686383756.59'
included: true
gasCosts:
- type: SEND
price: '1.26'
estimate: '140000'
limit: '175000'
amount: '176400'
amountUSD: '0.00'
token:
address: '0x0000000000000000000000000000000000000000'
symbol: xDai
decimals: 18
chainId: 100
name: xDai
coinKey: xDai
priceUSD: '1'
logoURI: https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png
data:
bid:
user: '0x53F68B2186E4a4aB4dD976eD32de68db45BA360b'
router: '0xeE2Ef40F688607CB23618d9312d62392786d13EB'
initiator: '0x53F68B2186E4a4aB4dD976eD32de68db45BA360b'
sendingChainId: 100
sendingAssetId: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
amount: '1000000000000000000'
receivingChainId: 137
receivingAssetId: '0xc0b2983a17573660053beeed6fdb1053107cf387'
amountReceived: '999500000000000000'
receivingAddress: '0x10fBFF9b9450D3A2d9d1612d6dE3726fACD8809E'
transactionId: '0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9'
expiry: 1643364189
callDataHash: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'
callTo: '0x0000000000000000000000000000000000000000'
encryptedCallData: 0x
sendingChainTxManagerAddress: '0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93'
receivingChainTxManagerAddress: '0x6090De2EC76eb1Dc3B5d632734415c93c44Fd113'
bidExpiry: 1643105290
gasFeeInReceivingToken: '0'
totalFee: '500000000000000'
metaTxRelayerFee: '0'
routerFee: '500000000000000'
integrator: fee-demo
RouteOptions:
title: Root Type for RouteOptions
description: Optional settings for the route
type: object
properties:
insurance:
deprecated: true
description: Facilitates transfer insurance via insurace.io, ensuring secure and insured transfer of assets.
type: boolean
integrator:
description: Custom string the developer who integrates LiFi can set
type: string
slippage:
format: double
description: The maximum allowed slippage
type: number
bridges:
$ref: '#/components/schemas/AllowDenyPrefer'
description: Object configuring the bridges that should or should not be taken into consideration for the possibilities
properties:
allow:
default:
- all
type: array
items:
type: string
deny:
type: array
items:
type: string
prefer:
type: array
items:
type: string
exchanges:
$ref: '#/components/schemas/AllowDenyPrefer'
description: Object configuring the exchanges that should or should not be taken into consideration for the possibilities
properties:
allow:
default:
- all
type: array
items:
type: string
deny:
type: array
items:
type: string
prefer:
type: array
items:
type: string
order:
description: The way the resulting routes should be ordered
enum:
- FASTEST
- CHEAPEST
type: string
allowSwitchChain:
description: Whether chain switches should be allowed in the routes
default: false
type: boolean
allowDestinationCall:
description: Defines if we should return routes with a cross-chain bridge protocol (Connext, etc.) destination calls or not.
default: true
type: boolean
referrer:
description: Integrators can set a wallet address as referrer to track them
type: string
fee:
format: double
description: The percent of the integrator's fee that is taken from every transaction. The maximum fee amount should be less than 100%.
minimum: 0
type: number
exclusiveMaximum: 1
maxPriceImpact:
format: double
description: The price impact threshold above which routes are hidden. As an example, one should specify 0.15 (15%) to hide routes with more than 15% price impact. The default is 10%.
type: number
timing:
type: object
properties:
swapStepTimingStrategies:
description: Timing setting to wait for a certain amount of swap rates. Please check [docs.li.fi](https://docs.li.fi) for more details.
type: array
items:
type: object
properties:
strategy:
enum:
- minWaitTime
minWaitTimeMs:
maximum: 15000
minimum: 0
type: number
startingExpectedResults:
type: number
minimum: 0
maximum: 100
reduceEveryMs:
maximum: 15000
minimum: 0
type: number
routeTimingStrategies:
description: Timing setting to wait for a certain amount of routes to be generated before choosing the best one. Please check [docs.li.fi](https://docs.li.fi) for more details.
type: array
items:
type: object
properties:
strategy:
enum:
- minWaitTime
minWaitTimeMs:
maximum: 15000
minimum: 0
type: number
startingExpectedResults:
type: number
minimum: 0
maximum: 100
reduceEveryMs:
maximum: 15000
minimum: 0
type: number
preset:
description: Pre-configured routing and quote optimization preset. The preset value `stablecoin` is supported for requesting swap and/or bridging operations involving stablecoin tokens. Each preset provides optimized default settings for slippage, price impact, and tool preferences that can be overridden by custom configuration options specified in the same request.
type: string
pattern: ^[a-zA-Z0-9-_]+$
minLength: 1
maxLength: 50
example: stablecoin
svmPriorityFeeLevel:
description: Priority fee level for Solana Virtual Machine (SVM) transactions.
enum:
- NORMAL
- FAST
- ULTRA
type: string
example:
integrator: fee-demo
slippage: 0.003
fee: 0.02
bridges:
allow:
- relay
exchanges:
allow:
- 1inch
- openocean
maxPriceImpact: 0.1
RoutesResponse:
title: Root Type for RoutesResponse
description: A list of routes that can be used to realize the described transfer of tokens
required:
- routes
type: object
properties:
routes:
description: List of possible `Routes` for the given transfer
type: array
items:
$ref: '#/components/schemas/Route'
unavailableRoutes:
description: An object representing the routes that are unavailable for the given transfer
type: array
items:
$ref: '#/components/schemas/UnavailableRoutes'
example:
routes:
- id: '0x1e21fad9c26fff48b67ae2925f878e43bf81211da8b1cd9b7faa8bfd8d7ea9d9'
fromChainId: 100
fromAmountUSD: '0.05'
fromAmount: '1000000000000000000'
fromToken:
address: '0x63e62989d9eb2d37dfdb1f93a22f063635b07d51'
symbol: MIVA
decimals: 18
chainId: 100
name: Minerva Wallet SuperToken
coinKey: MIVA
priceUSD: '0.04547537276751318'
logoURI: ''
toChainId: 137
toAmountUSD: '0.00'
toAmount: '999500000000000000'
# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lifi/refs/heads/main/openapi/lifi-advanced-api-openapi.yml