Andamio LogoAndamio
Andamio API/Atlas tx builder api/Atlas Student

Commit an Assignment

Atlas TX Builder APIAtlas Student

This endpoint allows a student to commit an assignment for a specific module within a course. This action records their submission and updates their course state.

POST
/atlas-tx-builder/student/commit-assignment
X-API-Key<token>

API Key for authentication. Example: "YOUR_API_KEY"

In: header

Commit Assignment Request Body - Contains all necessary information to commit an assignment, including UTxO references for the student's alias, course state, course state reference script, and the module token, along with the module ID, student assignment information, and the assignment address.

assignmentAddress?string
changeAddress?string
collateralUTxO?object
courseStateRefScriptUTxO?object
moduleId?string
moduleTokenUTxO?object
student200AliasUTxO?object
studentAlias?string
studentAssignmentInfo?string
studentCourseStateUTxO?object
usedAddresses?array<string>

Response Body

curl -X POST "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/student/commit-assignment" \
  -H "Content-Type: application/json" \
  -d '{}'
const body = JSON.stringify({})

fetch("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/student/commit-assignment", {
  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/student/commit-assignment"
  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/student/commit-assignment"
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/student/commit-assignment"))
  .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/student/commit-assignment", 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
}