Mint Course State
Atlas TX Builder APIAtlas User
This endpoint allows a user to mint a new course state. This action typically enrolls a user in a course or initializes their progress within it.
X-API-Key<token>
API Key for authentication. Example: "YOUR_API_KEY"
In: header
Mint Course State Request Body - Contains all necessary information to mint a course state, including used addresses, change address, collateral UTxO, the user's alias UTxO, global state UTxO, course state reference script UTxO, course NFT policy ID, and the course state address.
changeAddress?string
collateralUTxO?object
courseNFTPolicyID?string
courseStateAddress?string
courseStateRefScriptUTxO?object
globalStateUTxO?object
usedAddresses?array<string>
user200AliasUTxO?object
Response Body
curl -X POST "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state" \
-H "Content-Type: application/json" \
-d '{}'
const body = JSON.stringify({})
fetch("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state", {
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state"
body := strings.NewReader(`{}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Content-Type", "application/json")
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://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state"
body = {}
response = requests.request("POST", url, json = body, headers = {
"Content-Type": "application/json"
})
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;
var body = BodyPublishers.ofString("""{}""");
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state"))
.header("Content-Type", "application/json")
.POST(body)
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;
var body = new StringContent("""
{}
""", Encoding.UTF8, "application/json");
var client = new HttpClient();
var response = await client.PostAsync("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/user/mint-course-state", body);
var responseBody = await response.Content.ReadAsStringAsync();
{
"unsignedTxCBOR": "string"
}
{
"details": "string",
"message": "Bad Request: Invalid input.",
"status_code": 400
}
{
"details": "string",
"message": "Unauthorized: Invalid or missing credentials.",
"status_code": 401
}
{
"details": "string",
"message": "Forbidden: Insufficient permissions or tier access.",
"status_code": 403
}
{
"details": "string",
"message": "Unprocessable Entity: Invalid request structure or data.",
"status_code": 422
}
{
"details": "string",
"message": "Too Many Requests: Rate limit or quota exceeded.",
"status_code": 429
}
{
"details": "string",
"message": "Internal Server Error: An unexpected error occurred.",
"status_code": 500
}