# Snell's Law Calculator API

> For the complete documentation index, see [llms.txt](/llms.txt).

Refraction angles, indices, critical angle, and Brewster angle from Snell's law with a built-in material library.

Use this endpoint to add the tool to your app, site, workflow, or agent without rebuilding formulas, validation, examples, and docs.

- Slug: `snell-s-law-calculator`
- Category: `science`
- Version: `2026-04-22`
- Credits per successful call: 1
- Starts on: free
- Max payload: 65536 bytes
- Privacy mode: `hash_only`
- Available on: free, starter, pro, business, scale
- Browser tool: https://miniwebtool.com/snell-s-law-calculator/

## Endpoint

`POST https://api.miniwebtool.com/v1/tools/snell-s-law-calculator/run`

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `solve_for` | `str` | no | theta2 | theta1 | n1 | n2 | critical Choices: theta2, theta1, n1, n2, critical |
| `material_1` | `str` | no | vacuum | air | water_ice | water | seawater | ethanol | acetone | olive_oil | glycerin | honey | fused_silica | acrylic | crown_glass | quartz_crystal | amber | emerald | polycarbonate | flint_glass | fiber_core | fiber_cladding | ruby | sapphire | cubic_zirconia | diamond | moissanite | custom Choices: vacuum, air, water_ice, water, seawater, ethanol, acetone, olive_oil, glycerin, honey, fused_silica, acrylic, crown_glass, quartz_crystal, amber, emerald, polycarbonate, flint_glass, fiber_core, fiber_cladding, ruby, sapphire, cubic_zirconia, diamond, moissanite, custom |
| `n1_custom` | `float | None` | no | Refractive index (material_1=custom) |
| `material_2` | `str` | no | vacuum | air | water_ice | water | seawater | ethanol | acetone | olive_oil | glycerin | honey | fused_silica | acrylic | crown_glass | quartz_crystal | amber | emerald | polycarbonate | flint_glass | fiber_core | fiber_cladding | ruby | sapphire | cubic_zirconia | diamond | moissanite | custom Choices: vacuum, air, water_ice, water, seawater, ethanol, acetone, olive_oil, glycerin, honey, fused_silica, acrylic, crown_glass, quartz_crystal, amber, emerald, polycarbonate, flint_glass, fiber_core, fiber_cladding, ruby, sapphire, cubic_zirconia, diamond, moissanite, custom |
| `n2_custom` | `float | None` | no | Refractive index (material_2=custom) |
| `theta1_deg` | `float | None` | no | Angle of incidence in degrees |
| `theta2_deg` | `float | None` | no | Angle of refraction in degrees |
| `wavelength_nm` | `float` | no | Vacuum wavelength for in-medium wavelengths |

## Example request

```json
{
  "solve_for": "theta2",
  "material_1": "air",
  "material_2": "water",
  "theta1_deg": 30
}
```

## cURL

```bash
curl -X POST https://api.miniwebtool.com/v1/tools/snell-s-law-calculator/run \
  -H 'Authorization: Bearer mwt_live_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"solve_for":"theta2","material_1":"air","material_2":"water","theta1_deg":30}'
```

## Response envelope

```json
{
  "request_id": "01K...",
  "tool": "snell-s-law-calculator",
  "tool_version": "2026-04-22",
  "credits_used": 1,
  "result": {}
}
```

## Errors

Errors are RFC 7807 `application/problem+json`. Branch on `code`, not `title`.

## MCP

Agents can discover and call this tool through `https://api.miniwebtool.com/mcp` or `https://api.miniwebtool.com/v1/mcp` using MCP `tools/list` and `tools/call`.

## Frequently asked

### What does the Snell's Law Calculator API do?

Refraction angles, indices, critical angle, and Brewster angle from Snell's law with a built-in material library. Use it to add this utility without rebuilding formulas, validation, examples, and documentation.

### How much does one call cost?

1 credit per successful call. Failed calls do not bill.

### What parameters are required?

Required fields: (none). Full schema at `https://api.miniwebtool.com/v1/openapi.json`.

### Is this deterministic?

Yes. Same input, same output. Tool version: 2026-04-22.
