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

# Accept terms and conditions

> Records the user's acceptance of Etherfuse's Terms and Conditions.

**Authentication:** The presigned URL serves as the authentication mechanism for the end user.
This endpoint must be called by or on behalf of the user who will be bound by these terms.

**Legal effect:** By calling this endpoint with a valid presigned URL, the user acknowledges
they have read, understood, and agree to be bound by the Terms and Conditions.




## OpenAPI

````yaml /openapi.yaml post /ramp/agreements/terms-and-conditions
openapi: 3.1.0
info:
  title: FX API
  version: 1.0.0
  description: >
    API for managing FX operations including onboarding, quotes, orders, and
    customer management.

    This API provides endpoints for managing customers, bank accounts, crypto
    wallets, orders, and webhooks.
servers:
  - url: https://api.etherfuse.com
    description: Production API
  - url: https://api.sand.etherfuse.com
    description: Sandbox API (for testing)
security: []
tags:
  - name: Lookup
    description: Public endpoints for looking up stablebond and exchange rate data
  - name: Assets
    description: Get available assets for ramping
  - name: Onboarding
    description: Customer onboarding and KYC
  - name: Bank Accounts
    description: Manage customer bank accounts
  - name: Agreements
    description: Handle customer agreements and consents
  - name: Quotes
    description: Get quotes for conversions
  - name: Orders
    description: Create and manage orders
  - name: Swaps
    description: Create and manage swaps
  - name: Customers
    description: Manage customers
  - name: Crypto Wallets
    description: Manage crypto wallets
  - name: Webhooks
    description: Manage webhook subscriptions
  - name: Organizations
    description: Manage organizations and child organizations
paths:
  /ramp/agreements/terms-and-conditions:
    post:
      tags:
        - Agreements
      summary: Accept terms and conditions
      description: >
        Records the user's acceptance of Etherfuse's Terms and Conditions.


        **Authentication:** The presigned URL serves as the authentication
        mechanism for the end user.

        This endpoint must be called by or on behalf of the user who will be
        bound by these terms.


        **Legal effect:** By calling this endpoint with a valid presigned URL,
        the user acknowledges

        they have read, understood, and agree to be bound by the Terms and
        Conditions.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresignedUrlPayload'
      responses:
        '200':
          description: Terms and conditions acceptance recorded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgreementResponse'
        '400':
          description: Invalid or expired presigned URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PresignedUrlPayload:
      type: object
      description: >
        Payload containing a presigned URL for user authentication.

        The presigned URL serves as the authentication mechanism for the end
        user and contains

        cryptographically signed claims (customer ID, wallet public key,
        organization ID).
      properties:
        presignedUrl:
          type: string
          description: >
            Presigned URL obtained from `POST /ramp/onboarding-url`. This URL
            authenticates

            the end user and authorizes actions on their behalf.
      required:
        - presignedUrl
      example:
        presignedUrl: https://devnet.etherfuse.com/onboarding?token=eyJhbGciOiJIUzI1NiIs...
    AgreementResponse:
      type: object
      description: Response confirming an agreement has been recorded
      properties:
        success:
          type: boolean
          description: Whether the agreement was successfully recorded
        acceptedAt:
          type: string
          format: date-time
          description: Timestamp when the agreement was accepted
        agreementType:
          type: string
          description: Type of agreement accepted
          enum:
            - electronic_signature
            - terms_and_conditions
            - customer_agreement
      example:
        success: true
        acceptedAt: '2024-01-15T10:00:00Z'
        agreementType: customer_agreement
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
      example:
        error: Invalid request parameters

````