{"id":558,"date":"2026-03-30T17:47:23","date_gmt":"2026-03-30T17:47:23","guid":{"rendered":"https:\/\/e40c447b5810478002.temporary.link\/ai\/?page_id=558"},"modified":"2026-03-30T19:36:49","modified_gmt":"2026-03-30T19:36:49","slug":"agentic-ellucian-colleague-ethos-api-coding","status":"publish","type":"page","link":"https:\/\/ai.elcamino.edu\/es\/initiatives\/agentic-ellucian-colleague-ethos-api-coding\/","title":{"rendered":"Codificaci\u00f3n de API Ethos de Agentic Ellucian Colleague"},"content":{"rendered":"<p class=\"wp-block-paragraph\">At El Camino College, <strong>one of the most persistent barriers to data-informed decision-making<\/strong> has not been access to data\u2014but the friction required to <strong data-start=\"215\" data-end=\"260\">extract, transform, and operationalize it<\/strong>. Like many institutions running <span class=\"hover:entity-accent entity-underline inline cursor-pointer align-baseline\"><span class=\"whitespace-normal\">Ellucian Colleague<\/span><\/span> on-prem, we rely heavily on the <span class=\"hover:entity-accent entity-underline inline cursor-pointer align-baseline\"><span class=\"whitespace-normal\">Ellucian Ethos<\/span><\/span> API layer to modernize access. In theory, Ethos provides a clean, RESTful interface into Colleague. In practice, it introduces a different kind of complexity\u2014one that traditionally requires deep technical expertise, significant trial-and-error, and time that most operational teams simply do not have.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the context in which I explored a different approach: <strong data-start=\"766\" data-end=\"840\">using an AI coding agent to \u201cvibe code\u201d directly against the Ethos API<\/strong>\u2014not as a novelty, but as a way to fundamentally compress the distance between intent and execution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Lo\u00efc Audusseau &#8211; Chief Technology Officer<\/em><\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">The Problem: Ethos Is Powerful but Not Frictionless<\/mark><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Ethos solves a real problem: it abstracts Colleague\u2019s legacy data structures into modern APIs. But several issues quickly emerge when you try to build real applications on top of it:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Documentation vs. Reality Gap<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ethos documentation provides endpoint definitions, but it rarely captures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Real-world data relationships across modules<\/li>\n\n\n\n<li>Edge cases in financial or enrollment data<\/li>\n\n\n\n<li>Required sequencing of API calls<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You are often left reverse-engineering behavior through experimentation.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. Data Model Complexity<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Colleague\u2019s underlying data model is not intuitive. Even with Ethos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Financial data requires stitching together multiple endpoints<\/li>\n\n\n\n<li>Enrollment data spans sections, terms, statuses, and student records<\/li>\n\n\n\n<li>Business logic lives outside the API<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This creates a translation problem: <strong data-start=\"1826\" data-end=\"1891\">understanding what to query is often harder than querying it.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. Iteration Cost<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Traditional development cycles for reporting apps look like this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Write code<\/li>\n\n\n\n<li>Test API call<\/li>\n\n\n\n<li>Debug response<\/li>\n\n\n\n<li>Adjust logic<\/li>\n\n\n\n<li>Repeat<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each iteration is slow, especially when working across multiple endpoints.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"615\" src=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/ellucian_ethos.png\" alt=\"Ellucian Ethos Diagram\" class=\"wp-image-609\" style=\"aspect-ratio:1.076436303080766;width:376px;height:auto\" srcset=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/ellucian_ethos.png 662w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/ellucian_ethos-300x279.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#cbbdbd\" class=\"has-inline-color\">Credit: Ellucian<\/mark><\/p>\n<\/div>\n<\/div>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">The Shift: Using Claude as an Agentic Coding Layer<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of treating coding as a manual process, I used <span class=\"hover:entity-accent entity-underline inline cursor-pointer align-baseline\"><span class=\"whitespace-normal\">Claude<\/span><\/span> as an <strong data-start=\"2299\" data-end=\"2332\">agentic layer on top of Ethos<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal was not just code generation\u2014it was <strong data-start=\"2380\" data-end=\"2416\">delegating the reasoning process<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interpreting API documentation<\/li>\n\n\n\n<li>Structuring queries<\/li>\n\n\n\n<li>Handling transformations<\/li>\n\n\n\n<li>Iterating rapidly based on feedback<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In effect, Claude became a <strong data-start=\"2574\" data-end=\"2606\">Colleague-aware coding agent<\/strong>, capable of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Generating working API calls<\/li>\n\n\n\n<li>Debugging responses<\/li>\n\n\n\n<li>Refactoring logic in real time<\/li>\n\n\n\n<li>Building full applications from prompts<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is what I mean by <em data-start=\"2780\" data-end=\"2793\">vibe coding<\/em>: describing the outcome and letting the agent handle the implementation details.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Application 1: Financial Reporting App<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The first test was a financial reporting application\u2014something traditionally handled through static reports or complex SQL extracts.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h4 class=\"wp-block-heading\">Objective<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Create a dynamic reporting interface that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pulls real-time financial data from Colleague via Ethos<\/li>\n\n\n\n<li>Aggregates by fund, org, and account<\/li>\n\n\n\n<li>Calculates budget vs. actual vs. encumbrances<\/li>\n\n\n\n<li>Presents clean, decision-ready outputs<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">What the Agent Did<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Claude:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Identified relevant Ethos endpoints for financial data<\/li>\n\n\n\n<li>Structured multi-step API calls<\/li>\n\n\n\n<li>Built transformation logic to calculate totals and variances<\/li>\n\n\n\n<li>Generated a working front-end structure<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<div style=\"height:41px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"866\" src=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/fin_report.png\" alt=\"Ethos Financial Report\" class=\"wp-image-585\" style=\"aspect-ratio:1.1663114449067966;width:527px;height:auto\" srcset=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/fin_report.png 1010w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/fin_report-300x257.png 300w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/fin_report-768x659.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Outcome<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">What would typically take days (or weeks) of iterative development was reduced to <strong data-start=\"3646\" data-end=\"3690\">hours of guided prompting and refinement<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More importantly, the app was not static\u2014it was <strong data-start=\"3741\" data-end=\"3782\">iteratively co-developed in real time<\/strong>.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Application 2: Enrollment Dashboard<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The second application focused on enrollment\u2014another area where data fragmentation is common.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h4 class=\"wp-block-heading\">Objective<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Build a dashboard that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tracks enrollment trends by term<\/li>\n\n\n\n<li>Breaks down headcount, FTES, and section fill rates<\/li>\n\n\n\n<li>Allows filtering by program or demographic dimensions<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Challenges<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Enrollment data is inherently relational:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Students \u2194 Sections \u2194 Terms<\/li>\n\n\n\n<li>Status codes and census rules<\/li>\n\n\n\n<li>Timing dependencies<\/li>\n\n\n\n<li>FTES calculation logic<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"542\" src=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/stu_report-1024x542.png\" alt=\"Enrollment Report\" class=\"wp-image-597\" srcset=\"https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/stu_report-1024x542.png 1024w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/stu_report-300x159.png 300w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/stu_report-768x406.png 768w, https:\/\/ai.elcamino.edu\/wp-content\/uploads\/2026\/03\/stu_report.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">What the Agent Did<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Claude:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mapped relationships across Ethos endpoints<\/li>\n\n\n\n<li>Proposed data joins and aggregation strategies<\/li>\n\n\n\n<li>Generated logic for metrics like fill rate and enrollment trends<\/li>\n\n\n\n<li>Iterated quickly based on output validation<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Outcome<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The dashboard emerged through <strong data-start=\"4561\" data-end=\"4613\">conversation, not traditional development cycles<\/strong>.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Where It Broke (and What That Taught Me)<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This process was not seamless. Several challenges surfaced that are important for any institution considering this approach:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Context Drift<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The agent can lose context across complex workflows.<br data-start=\"4867\" data-end=\"4870\"><strong data-start=\"4870\" data-end=\"4881\">Lesson:<\/strong> You must anchor the agent with structured prompts and consistent definitions.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. Hallucinated Endpoints<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">At times, Claude would generate plausible\u2014but non-existent\u2014API endpoints.<br data-start=\"5066\" data-end=\"5069\"><strong data-start=\"5069\" data-end=\"5080\">Lesson:<\/strong> Always validate against actual Ethos documentation.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. Data Misinterpretation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Without domain context, the agent may misinterpret:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Financial structures<\/li>\n\n\n\n<li>Enrollment rules<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong data-start=\"5264\" data-end=\"5275\">Lesson:<\/strong> Human-in-the-loop is non-negotiable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4. Over-Generation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The agent tends to over-engineer solutions.<br data-start=\"5382\" data-end=\"5385\"><strong data-start=\"5385\" data-end=\"5396\">Lesson:<\/strong> Constrain scope aggressively and iterate incrementally.<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">The Bigger Insight: This Is Not About Coding<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">What emerged from this process is not just a faster way to build apps\u2014it\u2019s a fundamentally different model:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong data-start=\"5617\" data-end=\"5674\">We are moving from writing code to directing systems.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cHow do I write this query?\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The question becomes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cWhat outcome do I want, and how do I guide the agent to get there?\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This aligns directly with broader trends in AI enablement:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Institutions that embed AI into operational workflows will move faster<\/li>\n\n\n\n<li>Those that treat it as an add-on will remain constrained<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As highlighted in the broader AI landscape, there is a clear gap between capability and readiness\u2014<strong data-start=\"6108\" data-end=\"6187\">students and employees alike need structured pathways to build these skills<\/strong> .<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Governance and Risk Considerations<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This approach also intersects directly with AI governance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agentic development touches multiple risk domains:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data security (API access, sensitive data)<\/li>\n\n\n\n<li>Vendor and tool governance<\/li>\n\n\n\n<li>Algorithmic decision-making<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As outlined in the governance framework, <strong data-start=\"6535\" data-end=\"6656\">application development and AI-enabled systems must be governed through standards around APIs, testing, and oversight<\/strong> .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This reinforces a key point:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Agentic coding is not just a productivity tool\u2014it is a governance concern.<\/em><\/p>\n<\/blockquote>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Lessons Learned<\/mark><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong data-start=\"6832\" data-end=\"6863\">Start with a Clear Use Case<\/strong><br>Financial reporting and enrollment were ideal because they are high-value and data-rich.<\/li>\n\n\n\n<li><strong data-start=\"6962\" data-end=\"7010\">Treat the AI as a Junior Engineer (at First)<\/strong><br>Guide it, validate it, refine it.<\/li>\n\n\n\n<li><strong data-start=\"7054\" data-end=\"7097\">Prompt Engineering Becomes Architecture<\/strong><br>The quality of outputs is directly tied to how you structure inputs.<\/li>\n\n\n\n<li><strong data-start=\"7176\" data-end=\"7220\">Iteration Speed Is the Real Breakthrough<\/strong><br>The biggest gain is not code generation\u2014it\u2019s the ability to iterate instantly.<\/li>\n\n\n\n<li><strong data-start=\"7309\" data-end=\"7345\">Human Oversight Remains Critical<\/strong><br>Especially in institutional systems with real-world consequences.<\/li>\n<\/ol>\n\n\n\n<!--nextpage-->\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#c8102e\" class=\"has-inline-color\">Where This Leads<\/mark><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This experiment points to a near-term future where:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ERP systems like Colleague are no longer bottlenecks<\/li>\n\n\n\n<li>API layers like Ethos become <strong data-start=\"7585\" data-end=\"7634\">interfaces for AI agents, not just developers<\/strong><\/li>\n\n\n\n<li>Institutional teams can build their own tools without traditional development pipelines<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In other words:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong data-start=\"7747\" data-end=\"7830\">The constraint is no longer technical capability\u2014it\u2019s organizational readiness.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that is precisely where institutions will differentiate.<\/p>","protected":false},"excerpt":{"rendered":"<p>At El Camino College, one of the most persistent barriers to data-informed decision-making has not been access to data\u2014but the friction required to extract, transform, and operationalize it. Like many institutions running Ellucian Colleague on-prem, we rely heavily on the Ellucian Ethos API layer to modernize access. In theory, Ethos provides a clean, RESTful interface [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":561,"parent":78,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-558","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/pages\/558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/comments?post=558"}],"version-history":[{"count":35,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/pages\/558\/revisions"}],"predecessor-version":[{"id":620,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/pages\/558\/revisions\/620"}],"up":[{"embeddable":true,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/pages\/78"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/media\/561"}],"wp:attachment":[{"href":"https:\/\/ai.elcamino.edu\/es\/wp-json\/wp\/v2\/media?parent=558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}