Morpheus API Gateway LogoMorpheus API Gateway
Session

Approve Spending

Approve the contract to spend MOR tokens on your behalf. Connects to the proxy-router's /blockchain/approve endpoint. For creating sessions, approve enough tokens by calculating: bid_price * session_duration. Uses the DIAMOND_CONTRACT_ADDRESS environment variable as the spender contract address.

POST
/api/v1/session/approve

Authorization

AuthorizationRequiredBearer <token>

🚀 OAuth2 authentication via secure identity provider

In: header

Scope: openid, email, profile

AuthorizationRequiredBearer <token>

🎫 JWT Bearer token from OAuth2 login or direct token

In: header

Authorization<token>

🗝️ API key in format: 'Bearer sk-xxxxxx'

In: header

Query Parameters

amountRequiredAmount

The amount to approve, consider bid price * duration for sessions

Response Body

Successful Response

TypeScript Definitions

Use the response body type in TypeScript.

responseRequiredunknown

Validation Error

TypeScript Definitions

Use the response body type in TypeScript.

detailDetail
curl -X POST "https://example.com/api/v1/session/approve?amount=0" \
  -H "Authorization: Bearer <token>"
fetch("https://example.com/api/v1/session/approve?amount=0", {
  headers: {
    "Authorization": "Bearer <token>"
  }
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "https://example.com/api/v1/session/approve?amount=0"

  req, _ := http.NewRequest("POST", url, nil)
  req.Header.Add("Authorization", "Bearer <token>")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://example.com/api/v1/session/approve?amount=0"

response = requests.request("POST", url, headers = {
  "Authorization": "Bearer <token>"
})

print(response.text)
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

How is this guide?