# Docs - [Overview](/en/docs): Developer documentation for integrating with agrirouter, the universal data exchange platform for agricultural machinery and applications - Getting Started - [Getting Started](/en/docs/getting-started): Partner setup through sending your first message - [Setup Application](/en/docs/getting-started/setup-application): Become an agrirouter partner. Create a developer account, register your application, prepare software versions, and submit for review. - [Your First Endpoint](/en/docs/getting-started/your-first-endpoint): Step-by-step guide to authenticating your application, obtaining user authorization, and creating your first agrirouter endpoint - [Send Your First Message](/en/docs/getting-started/send-your-first-message): Step-by-step guide to sending your first message through agrirouter - [Receive Your First Message](/en/docs/getting-started/receive-your-first-message): Step-by-step guide to receiving messages, downloading payloads, and verifying delivery through agrirouter - Concepts - [Concepts](/en/docs/concepts): Understand the core concepts behind agrirouter: the ecosystem, endpoints, messaging, accounts, and security - [Ecosystem](/en/docs/concepts/ecosystem): The agrirouter ecosystem: farmers, contractors, software, and machines - [Accounts & Tenants](/en/docs/concepts/accounts-and-tenants): Account types, tenant model, and how applications relate to agrirouter accounts - [Tenant IDs](/en/docs/concepts/tenants): How tenant IDs identify the end user account your application acts under, where to obtain them, and how to pass them in API requests - [Authorization & Security](/en/docs/concepts/authorization-and-security): The authorization flow, scopes, managing authorizations, and the security model for agrirouter integrations - [Endpoints](/en/docs/concepts/endpoints): What endpoints are, endpoint types, and the endpoint lifecycle in agrirouter - [Messaging](/en/docs/concepts/messaging): How messages flow through agrirouter: capabilities, subscriptions, routing, addressing, and the message lifecycle - Integration Guide - [Integration Guide](/en/docs/integration): Task-oriented guides for integrating farming software, telemetry platforms, and communication units with agrirouter - [Environments](/en/docs/integration/environments): Production and QA environments for agrirouter integrations - [Cloud Software](/en/docs/integration/cloud-software): How to integrate a cloud-hosted application with agrirouter as a cloud_software endpoint - [Virtual Communication Units](/en/docs/integration/virtual-communication-units): Register physical machines as virtual_communication_unit endpoints and report their TeamSets - [Communication Unit (Legacy API)](/en/docs/integration/communication-unit): How to integrate a Communication Unit (CU) or hardware device with agrirouter using the legacy API - [Endpoint Management](/en/docs/integration/endpoint-management): Managing endpoints throughout their lifecycle, from creation to update to revocation - [Sending & Receiving](/en/docs/integration/sending-and-receiving): How to send and receive messages through agrirouter in production integrations, with addressing, retries, chunk reassembly, and feed confirmation - [Events](/en/docs/integration/events): Server-Sent Events emitted on GET /events, and how to subscribe to individual event types - [Single Sign-On](/en/docs/integration/sso): Let your users reach agrirouter with the identity they already have in your solution - [Remote Application Connection](/en/docs/integration/remote-application-connection): Let your users easily connect your application to another one - [Implementation Review](/en/docs/integration/implementation-review): How the agrirouter team reviews your application before it can connect to production. What we look for, prerequisites, and the status flow. - Message Types - [Message Types](/en/docs/message-types): Overview of all technical message types supported by agrirouter - [TaskData](/en/docs/message-types/taskdata): ISO 11783-10 TaskData exchange. Zip format, ISOXML structure, and use cases - [EFDI](/en/docs/message-types/efdi): EFDI telemetry data, Device Descriptions (TeamSets) and TimeLogs for live machine telemetry - [GPS](/en/docs/message-types/gps): GPS position data format, gps:info message type - Shape - [Shape](/en/docs/message-types/shape): ESRI Shape file exchange for field boundaries, prescription maps and field operations - [Field Operations Shape](/en/docs/message-types/shape/field-operation-shape): ESRI Shape file exchange for field operations - [Documents](/en/docs/message-types/documents): PDF document exchange via agrirouter - [Images](/en/docs/message-types/images): Image file exchange via agrirouter. BMP, JPEG, and PNG formats - [Videos](/en/docs/message-types/videos): Video file exchange via agrirouter. AVI, WMV, and MP4 formats - API Reference - [API Reference](/en/docs/api): API reference for the agrirouter gateway API: endpoints, authentication, and request patterns - [Create or update endpoint](/en/docs/api/putEndpoint): Create a new endpoint or replace the configuration of an existing one by external ID. - [List authorized tenants](/en/docs/api/listAuthorizedTenants): List every tenant for which the current application has an existing authorization, together with each tenant's visible endpoints. - [List tenant endpoints](/en/docs/api/listTenantEndpoints): List the endpoints currently visible to your application in one tenant, including route information for endpoints owned by your application. - [Send one or several messages](/en/docs/api/sendMessages): Send one or several messages through agrirouter to other endpoints, with automatic chunking for large payloads. - [Confirm received messages](/en/docs/api/confirmMessages): Acknowledge received messages so agrirouter marks them as processed for the confirming endpoint. - [Delete endpoint](/en/docs/api/deleteEndpoint): Remove an endpoint from agrirouter by external ID so it no longer receives messages. - [Receive events](/en/docs/api/receiveEvents): Open a Server-Sent Events stream that delivers message and endpoint events for every endpoint of the authorized application. - [Message received](/en/docs/api/events/message-received): SSE event emitted when a non-chunked message arrives in the feed of one of the application's endpoints - [File received](/en/docs/api/events/file-received): SSE event emitted when agrirouter has finished reassembling a chunked payload - [Endpoint deleted](/en/docs/api/events/endpoint-deleted): SSE event emitted when one of the application's endpoints is deleted - [Endpoints list changed](/en/docs/api/events/endpoints-list-changed): SSE event emitted when the set of endpoints visible to the application in a tenant changes - [Authorization added](/en/docs/api/events/authorization-added): SSE event emitted when a user grants your application an authorization for a tenant - [Authorization revoked](/en/docs/api/events/authorization-revoked): SSE event emitted when a user revokes your application's authorization for a tenant - [Legacy API](/en/docs/api/legacy): Documentation for the legacy agrirouter API, kept for existing integrations and migration reference - [Errors](/en/docs/api/errors): How the current agrirouter API returns errors, plus reference for legacy error codes - Changelog - [Changelog](/en/docs/changelog): Platform changes, updates, and migration notes for agrirouter - [agrirouter 2.0](/en/docs/changelog/agrirouter-2-0): Complete changelog for the agrirouter 2.0 migration, covering new features, removed features, and migration notes - Tools & SDKs - [Tools & SDKs](/en/docs/tools): Developer tools and SDKs for building and testing agrirouter integrations - [IO-Tool](/en/docs/tools/io-tool): The IO-Tool, a developer tool for testing agrirouter integrations with data exchange, simulation, and debugging - [SDKs](/en/docs/tools/sdks): SDKs for integrations against the legacy API (Java, C#/.NET, PHP, Python, C++) - Appendix - [Appendix](/en/docs/appendix): Quick-reference lookup for agrirouter terms, limits, URLs, and contact options - [Glossary](/en/docs/appendix/glossary): Glossary of agrirouter terms and abbreviations - [Migrating from Legacy](/en/docs/appendix/migrating-from-legacy): Map legacy agrirouter terms and concepts to their equivalents in the current API - [Limitations](/en/docs/appendix/limitations): System constraints. Account limits, rate limits, message size limits, and storage retention - [URLs](/en/docs/appendix/urls): URL reference for agrirouter environments and services - [Contact](/en/docs/appendix/contact): How to reach the agrirouter team for support, access, credentials, and integration questions