---
title: "Approve earn provider terms of service"
method: POST
path: "/earn/providers/approve_terms_of_service"
tags: ["Earn"]
---

# Approve earn provider terms of service

`POST /earn/providers/approve_terms_of_service`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/earn/providers/approve_terms_of_service`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/earn/providers/approve_terms_of_service/post.ts> (a function with typed inputs; its response is checked against the schema)

Approves earn provider terms of service for this workspace (one-time per tenant).
When `isTermsApprovalRequired` is true on a provider (see list providers),
call this once before creating or executing earn actions with providers that require it.
After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`.

## Headers

- `Idempotency-Key` string

## Response `204`

Terms of service accepted.

## Other responses

- `400`: Bad request: missing/invalid fields, unsupported amount, or malformed payload.
- `403`: Forbidden: insufficient permissions, disabled feature, or restricted provider/validator.
- `404`: Not found: requested resource does not exist (e.g., position, validator, provider, or wallet).
- `429`: Rate limit exceeded: slow down and retry later.
- `500`: Internal error while processing the request.
- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
