> ## Documentation Index
> Fetch the complete documentation index at: https://docs.infinite.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> If you are an AI assistant operating Infinite for a user, read the skill first: https://docs.infinite.dev/agent-skill.md (setup per host, tool reference, rules for moving money, journeys).
> When operating Infinite for a user, use the MCP server. Sign in at https://bot.api.infinite.dev/mcp (production, acts as the user) or send `Authorization: Bearer <key>` to https://bot.api.infinite.dev/mcp/sse. Prefer its tools over raw HTTP; use REST only for steps no tool covers, and check `get_endpoint_schema` before guessing a request shape.
> Net-new Infinite Connect (org_connect) is operator-assisted: do not grant end users shared org_connect Auth Kit membership or the shared platform org API key — those credentials are org-wide on /v1. BYO org keys onboard under that customer's org id. Operator sessions should show org_connect in get_organization_info.
> The key decides the tools. Every organization key (`sk_sandbox_…` / `sk_live_…`) gets docs, onboarding, `get_account_balance`, and request logs for your own organization. BYO organizations add payees an agent will pay with `create_payee` (payable once ACTIVE). Platform Connect sessions instead get bound-customer payment lookups (`get_quote`, `get_transfer`, `list_transfers`, `list_account_balances`), payee drafts (`create_payee_draft` / `get_payee_draft`; screening only, never payable), and transfer drafts that wait for Infinite approval (`create_transfer_draft` / `get_transfer_draft`; never POST /v1/transfers). Where offered, platform `create_transfer` files a real transfer that Infinite holds in review before funding; it cannot be submitted from DRAFT.
> An agent key (`sk_sandbox_agent_…` / `sk_live_agent_…`) moves money within that agent's limits: `create_transfer` → `submit_transfer` → `wait_for_transfer`.
> On sandbox organization-key sessions, `sandbox_approve_customer` (makes the capabilities you pass READY, and related ones may turn READY too; `request_capabilities` is not needed), `sandbox_fund_account`, and `sandbox_complete_transfer` stand in for verification, funding, and settlement, so a whole flow runs from MCP. BYO keys can pass `customerId` on each call without binding; platform sessions must bind a customer first (`create_business_customer` auto-binds, or send `X-Infinite-On-Behalf-Of`).
> When searching documentation without a key, use the docs MCP at https://docs.infinite.dev/mcp.
> Start in sandbox (https://sandbox.api.infinite.dev). Do not use production unless the user explicitly asks.
> Confirm amount, currency, and payee with the user before any payment is submitted. Pass the invoice number as `reference` on `create_transfer`; the summary says what the payee will see.
> REST amounts are integer minor units (`"4000"` = 40.00 USD). MCP payment tools take exact decimal strings (`"40.00"`). Never mix them.
> Agent denials return `403 { denial: { code, message, window, limit, used, remaining, attemptedAmount, currency }, hint }` with decimal amounts; per-transfer denials omit `used` and `remaining`. Report them to the user; do not work around them.

# Accept Terms of Service

> Updates an existing ToS acceptance record with the agreement acceptance fields and acceptance timestamp. This is the second step in the two-step process: you must first call initiate to get an ID, then call this endpoint with that ID when the user accepts the agreements. This endpoint captures IP address and user agent for audit purposes.



## OpenAPI

````yaml post /v1/tos/{id}/accept
openapi: 3.0.0
info:
  title: Infinite API
  description: API for Infinite
  version: '1.0'
  contact: {}
servers:
  - url: https://sandbox.api.infinite.dev
    description: Sandbox
  - url: https://api.infinite.dev
    description: Production
security: []
tags:
  - name: Accounts
    description: Virtual and external account management
  - name: Customers
    description: Customer identity management
  - name: Documents
    description: Document upload and management
  - name: Fixed Routes
    description: Fixed route management
  - name: External Bank Accounts
    description: External bank account management
  - name: External Wallets
    description: External wallet management
  - name: Infinite Wallets
    description: Infinite Wallet management
  - name: Organizations
    description: Organization management
  - name: Quotes
    description: Quote creation and management
  - name: Transfers
    description: Money movement and transaction tracking
  - name: Verification
    description: Identity verification workflows
  - name: Terms of Service
    description: Terms of Service acceptance
  - name: Health
    description: System health and monitoring
  - name: Sandbox
    description: Sandbox utilities
paths:
  /v1/tos/{id}/accept:
    post:
      tags:
        - Terms of Service
      summary: Accept Terms of Service
      description: >-
        Updates an existing ToS acceptance record with the agreement acceptance
        fields and acceptance timestamp. This is the second step in the two-step
        process: you must first call initiate to get an ID, then call this
        endpoint with that ID when the user accepts the agreements. This
        endpoint captures IP address and user agent for audit purposes.
      operationId: TosController_accept_v1
      parameters:
        - name: id
          required: true
          in: path
          description: ToS acceptance ID
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptTosRequestDto'
      responses:
        '200':
          description: ToS accepted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptTosResponseDto'
      x-codeSamples:
        - lang: bash
          label: CLI
          source: >-
            # Requires: npm i -g @infinite_dev/cli && export
            INFINITE_API_KEY=sk_sandbox_...

            # Escape hatch for any endpoint: infinite api <METHOD> <path>

            infinite api POST /v1/tos/<id>/accept \
              --body '<request-json>'
        - lang: text
          label: MCP
          source: >-
            Accept Terms of Service (<id>).


            # Infinite MCP is read-only for this endpoint — use a dedicated MCP
            tool when one exists, otherwise run the CLI tab.
components:
  schemas:
    AcceptTosRequestDto:
      type: object
      properties:
        infiniteAgreementsAccepted:
          type: boolean
          description: Whether the Infinite agreements were accepted
          example: true
        ereborAgreementsAccepted:
          type: boolean
          description: Whether the Erebor agreements were accepted
          example: true
        oneMoneyAgreementsAccepted:
          type: boolean
          description: Whether the 1Money agreements were accepted
          example: true
        dueAgreementsAccepted:
          type: boolean
          description: Whether the Due agreements were accepted
          example: true
        customerId:
          type: string
          description: Customer ID (if known)
          example: cus_abc123
      required:
        - infiniteAgreementsAccepted
    AcceptTosResponseDto:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the acceptance was successful
          example: true
        message:
          type: string
          description: Message describing the result
          example: Terms of Service accepted successfully
        acceptanceId:
          type: string
          description: ToS acceptance record ID
          example: tos_abc123
      required:
        - success
        - message

````

## Related topics

- [Initiate ToS acceptance](/api-reference/terms-of-service/initiate-tos-acceptance.md)
- [Generate hosted ToS acceptance link](/api-reference/terms-of-service/generate-hosted-tos-acceptance-link.md)
- [Get ToS acceptance status](/api-reference/terms-of-service/get-tos-acceptance-status.md)
- [Get hosted ToS page context](/api-reference/terms-of-service/get-hosted-tos-page-context.md)
- [Compliance Services](/coverage/compliance.md)
