Referencia
Referencia de la API
URL base https://api.commandagi.com. Todas las solicitudes llevan una API key tipo bearer; todos los cuerpos y respuestas son JSON.
Hilos y máquinas
Un hilo es una corrida. Un hilo de agente (POST /threads) tiene una IA manejándolo; una máquina (POST /device-threads) no tiene agente — tú la manejas. Ambos adjuntan los mismos dispositivos.
/app/threadsCrea un hilo de agente (una IA lo maneja)./embodiment-threadsCrea una máquina sin agente (tú la manejas — robots, simulaciones, computadoras)./me/embodiment-threadsTus máquinas en ejecución./app/threads/:id/computersAdjunta una computadora de la plataforma (escritorio Ubuntu en la nube)./app/threads/:id/robotsAdjunta una simulación 3D o un robot físico./app/threads/:id/connect-embodimentConecta tu propia máquina (gratis, BYO; kind: computer|robot|simulation)./app/threads/:id/rent-embodimentRenta un dispositivo publicado hacia el hilo./app/threads/:id/embodiments/:embodimentId/snapshotToma una instantánea del estado de un dispositivo para bifurcarlo después./app/threads/:id/execPausa o reanuda el hilo (los hilos nunca terminan; los dispositivos se liberan al quedar inactivos).Tiempo real — transmisión y control (WebSocket)
Conéctate al canal en tiempo real de un hilo para recibir cuadros de sensores y enviar acciones de control — la cámara para un robot/simulación (canal cam-head, JPEG), la pantalla para una computadora (screen, PNG). Flujo completo + SDK de Python en Robots y simulaciones.
// wss://api.commandagi.com/rt/thread/{threadId}?role=owner&token={cagi_key}
// Control needs &token=<your API key> (you must own the thread); public threads are view-only without one.
// There is no claim to make first — send a control op and it lands.
← { "t": "frame", "embodimentId": "…", "channelId": "cam-head", "url": "data:image/jpeg;base64,…" }
→ { "t": "control", "embodimentId": "…", "action": "move", "payload": { "speed": 0.8 } }Acciones de robot/simulación: move, back, turn, stop, reset. Acciones de computadora: click, type, key, move, scroll.
Ofertas, capacidad y créditos
/offeringsEl catálogo de productos de cara al usuario, con precios./capacityDisponibilidad + oferta por fondo de recursos./me/creditsTu saldo actual de créditos./me/credits/historyLibro contable de solo adición de gasto/otorgamiento.Marketplace — anuncios y compras
/listingsExplora anuncios activos (filtra por tipo/clase)./listingsCrea un anuncio./listings/:idDetalle del anuncio./listings/:idActualiza / activa / retira del listado./listings/:id/purchaseCompra acceso (pago por adelantado; requiere Idempotency-Key)./me/purchasesTus compras.Alojamiento y rentas
/rental-embodimentsRegistra tu hardware; obtén el comando de standby./me/rental-embodimentsTus dispositivos registrados + estado en línea./rental-embodiments/:id/pollSondeo de runtime en standby (latido + comandos).Ganancias y pagos
/me/earningsSaldo pagable, historial, estado de la cuenta./me/payoutsSolicita un pago de las ganancias liberadas.Reservaciones
/listings/:id/availabilityVentanas + reservaciones existentes./listings/:id/reservationsReserva una ventana futura (depósito retenido)./reservations/:idCancela (reembolso según política).El mercado de liquidación
/market/:resourceClassLibro en vivo, cinta, gráfico, señales./market/:resourceClass/ordersPublica una oferta o demanda (geo, job, convenience opcionales)./market/:resourceClass/orders/:orderId/acceptEl proveedor acepta con un toque una oferta localizada./market/:resourceClass/orders/:orderIdCancela una orden.Trabajos localizados y presencia
/jobs/nearbyTrabajos localizados (ofertas ancladas) cerca de un punto: ?lat=&lng=&radiusM=&class=®ion=./me/presenceTu presencia como proveedor./me/presencePonte en línea: ubicación, radio de servicio, clases, notificar./me/presencePonte fuera de línea./me/push-tokensTus tokens push registrados./me/push-tokensRegistra un token push para que te despertemos por trabajos cercanos./me/push-tokens/:idElimina un token push.Interoperabilidad con la economía de agentes (A2A · x402 · AP2)
Descubre, paga y autoriza la primitiva de arbitraje/oráculo sobre estándares abiertos — sin integración a medida. El evaluador se publica como un agente A2A; el arbitraje se cobra por llamada vía x402 (USDC en Solana); el gasto puede autorizarse con un AP2 Cart Mandate.
/.well-known/agent-card.jsonAgentCard A2A — la habilidad de arbitraje del evaluador/oráculo + endpoints de pago./arbitratePago por llamada x402. Cuerpo {spec, deliverable} → veredicto + raíz de evidencia + compromiso. 402 con PaymentRequirements hasta que X-PAYMENT se liquide./ap2/cart-mandateConstruye un AP2 Cart Mandate firmado que autorice un gasto de arbitraje/garantía./reservesPrueba de reservas pública — la paridad de créditos, demostrada no declarada (agregada, sin PII).