# Infinite Recycling Solutions Public developer documentation for systems that integrate with Infinite Recycling Solutions. ## Docs - [Get started](/docs/get-started): Choose an integration, create a system API key, and make a first request. `/docs` opens this guide. - [Get started Markdown](/docs/get-started.md): First-key setup and complete API-key create/list/revoke request and response contracts. - [Customer accounts API](/docs/customer-accounts-integration): Public guide for system API keys, paginated account listing, unpaid balances, account creation, and account-user management. - [Customer accounts API Markdown](/docs/customer-accounts-integration.md): AI-readable account API contracts and API-key creation guide. - [Bottle counter integration](/docs/bottle-counter-integration): Human-readable public guide for physical bottle counter devices. - [Bottle counter integration Markdown](/docs/bottle-counter-integration.md): Complete request/response contracts for license validation, count entries, recording uploads, upload lifecycle, and management review. New uploads accept raw video; legacy ZIP recordings remain readable. ## Integration Surface - Customer accounts: `GET /api/system/[systemSlug]/customer-account?page=1&pageSize=25` returns accounts with unpaid balances, assigned users, and pagination metadata. - Account creation: `POST /api/system/[systemSlug]/customer-account`; account-user assignment: `POST /api/system/[systemSlug]/customer-account/[accountId]/users`; role updates/removal: `PUT` / `DELETE /api/system/[systemSlug]/customer-account/[accountId]/users/[accountUserId]`. - Customer account integrations require a valid system API key via `x-api-key: ` or `Authorization: Bearer `, owned by an active system Owner or PrimaryOwner. Reads accept Read or Read-Write; writes require Read-Write. Create keys in Profile > Developer; full API provisioning details are in Get started. These keys are separate from counter keys. - Primary machine endpoint: `POST /api/counters/entries` - Recording upload lifecycle endpoint: `POST`, `PATCH`, or `DELETE /api/counters/entries/[counterEntryId]/video-upload` - Authentication: `Authorization: Bearer ` or `x-counter-api-key: ` - Public docs do not include or expose counter API keys. A master admin provisions and rotates keys in system management. - Prefer the Markdown document over scraping HTML when building automated agents.