Public beta

Public solver API

GroupMixer now has a free public solver API for scripts, automations, and agent integrations that need one automatic scenario solve.

Base URL
https://api.groupmixer.app/v1
Compute endpoint
POST /auto-solve
Auth
No account or API key for v1.

One narrow endpoint

The hosted API exposes auto-solve only, plus read-only schema and help endpoints.

Free shared limits

Requests use an anonymous global beta pool with payload, scenario-size, concurrency, and solve-time caps.

No solver tuning surface

Public callers cannot choose solver families or pass solver settings; unsupported fields return explicit errors.

Quickstart

Send a scenario and let the public auto policy select a conservative runtime budget. If objectives are omitted, the API applies the default unique-contacts objective and reports that policy in the response.

curl
curl -X POST https://api.groupmixer.app/v1/auto-solve \
  -H 'Content-Type: application/json' \
  -d '{
    "schema_version": "v1",
    "scenario": {
      "people": [
        {"id": "alice", "attributes": {}},
        {"id": "bob", "attributes": {}}
      ],
      "groups": [{"id": "team-1", "size": 2}],
      "num_sessions": 1
    }
  }'

Request shape

The request uses the same scenario concepts as the app: people, groups, sessions, objectives, and constraints.

auto-solve request
{
  "schema_version": "v1",
  "scenario": {
    "people": [
      {"id": "alice", "attributes": {"team": "a"}},
      {"id": "bob", "attributes": {"team": "b"}}
    ],
    "groups": [
      {"id": "g1", "size": 2}
    ],
    "num_sessions": 1
  },
  "objectives": [
    {"type": "maximize_unique_contacts", "weight": 1.0}
  ],
  "constraints": []
}

Response shape

Responses include the solution plus policy and limit metadata so automated callers can branch on observed behavior.

auto-solve response
{
  "status": "solved",
  "solution": {
    "schedule": {
      "session_0": {
        "g1": ["alice", "bob"]
      }
    },
    "unique_contacts": 1,
    "final_score": 1.0
  },
  "policy": {
    "id": "free_auto_v1",
    "solver_family": "auto"
  },
  "limits": {
    "quota_scope": "anonymous_ip_and_global",
    "per_request_solve_time_ms": 2000
  }
}

Discovery endpoints

Beta limits

The API is free and anonymous in v1. Per-client/IP request, solve-time, and active-solve limits sit in front of a global daily solve-time pool.

Render free hosting can cold-start. Callers should handle normal HTTP errors, quota exhaustion, rate limits, and retry-after metadata explicitly.