Enso standards API
The standards API from Enso — 4 operation(s) for standards.
The standards API from Enso — 4 operation(s) for standards.
openapi: 3.0.0
info:
title: Enso ccip standards API
description: '#### Enso API
- Find detailed documentation on [docs.enso.finance](https://docs.enso.finance).
- To use the API, **you must include your API Key in the Authorization header** (Bearer format).
- For testing, Swagger pre-authorizes you using the key: `1e02632d-6feb-4a75-a157-documentation` (1rps).
- Get your own API Key at [enso.finance/developers](https://developers.enso.build/).'
version: '1.0'
contact: {}
servers:
- url: https://api.enso.finance
security:
- bearer: []
tags:
- name: standards
paths:
/api/v1/actions:
get:
operationId: ActionsController_findAll
summary: Returns actions available to use in bundle shortcuts
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Action'
tags:
- standards
/api/v1/actions/{slug}:
get:
operationId: ActionsController_getActionsBySlug
summary: Returns actions available to use in bundle shortcuts for a given protocol
parameters:
- name: slug
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Action'
tags:
- standards
/api/v1/standards:
get:
operationId: StandardsController_standards
summary: Returns standards and methods available to use in bundle shortcuts
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Standard'
tags:
- standards
/api/v1/standards/{slug}:
get:
operationId: StandardsController_getProtocolBySlug
summary: Returns a standard by slug
parameters:
- name: slug
required: true
in: path
description: The protocol slug
schema:
example: aave-v2
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProtocolModel'
tags:
- standards
components:
schemas:
Network:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
- name
Standard:
type: object
properties:
protocol:
$ref: '#/components/schemas/Protocol'
forks:
type: array
items:
$ref: '#/components/schemas/Protocol'
actions:
type: array
items:
$ref: '#/components/schemas/StandardAction'
required:
- protocol
- forks
- actions
StandardAction:
type: object
properties:
action:
type: string
enum:
- approve
- borrow
- borrowwithpositionid
- bridge
- deposit
- singledeposit
- singledepositwithpositionid
- multideposit
- multidepositwithpositionid
- tokenizedsingledeposit
- tokenizedmultideposit
- multioutsingledeposit
- depositclmm
- depositwithestimate
- encodedswap
- flashloan
- singletokenflashloan
- multitokenflashloan
- harvest
- nftborrow
- nftdeposit
- nftmultideposit
- nftmultiredeem
- nftredeem
- nftrepay
- permittransferfrom
- redeem
- singleredeem
- singleredeemwithpositionid
- multiredeem
- tokenizedsingleredeem
- tokenizedmultiredeem
- redeemclmm
- redeemwithestimate
- repay
- repaywithpositionid
- swap
- transfer
- transferfrom
- withdraw
- singlewithdraw
- singlewithdrawwithpositionid
- multiwithdraw
- route
- call
- split
- ondosplit
- merge
- balance
- minamountout
- slippage
- fee
- ensofee
- paymasterfee
- depositposition
- add
- sub
- mul
- div
- min
- max
- isequal
- islessthan
- isequalorlessthan
- isgreaterthan
- isequalorgreaterthan
- not
- check
- toggle
name:
type: string
functionNames:
type: array
items:
type: string
supportedChains:
type: array
items:
$ref: '#/components/schemas/Network'
inputs:
type: array
items:
type: string
required:
- action
- name
- functionNames
- supportedChains
- inputs
Action:
type: object
properties:
action:
type: string
enum:
- approve
- borrow
- borrowwithpositionid
- bridge
- deposit
- singledeposit
- singledepositwithpositionid
- multideposit
- multidepositwithpositionid
- tokenizedsingledeposit
- tokenizedmultideposit
- multioutsingledeposit
- depositclmm
- depositwithestimate
- encodedswap
- flashloan
- singletokenflashloan
- multitokenflashloan
- harvest
- nftborrow
- nftdeposit
- nftmultideposit
- nftmultiredeem
- nftredeem
- nftrepay
- permittransferfrom
- redeem
- singleredeem
- singleredeemwithpositionid
- multiredeem
- tokenizedsingleredeem
- tokenizedmultiredeem
- redeemclmm
- redeemwithestimate
- repay
- repaywithpositionid
- swap
- transfer
- transferfrom
- withdraw
- singlewithdraw
- singlewithdrawwithpositionid
- multiwithdraw
- route
- call
- split
- ondosplit
- merge
- balance
- minamountout
- slippage
- fee
- ensofee
- paymasterfee
- depositposition
- add
- sub
- mul
- div
- min
- max
- isequal
- islessthan
- isequalorlessthan
- isgreaterthan
- isequalorgreaterthan
- not
- check
- toggle
inputs:
type: object
additionalProperties:
$ref: '#/components/schemas/ActionInputMetadata'
variants:
type: array
items:
$ref: '#/components/schemas/ActionVariant'
required:
- action
- inputs
ProtocolModel:
type: object
properties:
project:
type: string
example: uniswap
slug:
type: string
example: uniswap-v2
name:
type: string
example: Uniswap V2
nullable: true
description:
type: string
nullable: true
url:
type: string
example: https://app.uniswap.org/swap
nullable: true
logosUri:
example: https://icons.llama.fi/uniswap-v2.png
nullable: true
type: array
items:
type: string
chains:
nullable: true
example:
- id: 1
name: mainnet
type: array
items:
$ref: '#/components/schemas/Network'
required:
- project
- slug
- name
- description
- url
- logosUri
- chains
ActionInputMetadata:
type: object
properties:
type:
type: string
description:
type: string
optional:
type: boolean
required:
- type
- description
ActionVariant:
type: object
properties:
action:
type: string
inputs:
type: object
additionalProperties:
$ref: '#/components/schemas/ActionInputMetadata'
bundleName:
type: string
required:
- action
- inputs
Protocol:
type: object
properties:
slug:
type: string
url:
type: string
required:
- slug
- url
securitySchemes:
bearer:
scheme: bearer
bearerFormat: apiKey
type: http