---
title: "Review responder settings and AI-draft usage"
method: GET
path: "/api/v1/apps/{id}/review-responder"
tags: ["Workspace"]
---

# Review responder settings and AI-draft usage

`GET /api/v1/apps/{id}/review-responder`

## Request

- Base URL: `https://api.trysonar.app`
- URL: `https://api.trysonar.app/api/v1/apps/{id}/review-responder`
- Auth: HTTP bearer

The review responder's settings for one of your own iOS apps (null until switched on), whether App Store Connect is connected, and this month's AI-draft usage (included allowance — trial 50, Indie 300, Agency 3,000 — then 1 credit per extra draft). 400 for an app that isn't one of your own iOS apps. Requires an Indie or Agency plan.

## Path parameters

- `id` string, required

## Response `200`

Settings, connection state and usage

- object
  - `data` object, required
    - `app_id` string, uuid
    - `asc_connected` boolean
    - `settings` ReviewResponderSettings: Review responder settings for one own iOS app. Auto mode posts AI replies after auto_delay_minutes, only for reviews written at/after auto_since and rated within auto_min_rating..auto_max_rating, up to auto_daily_cap per day; replies the AI flags as needing a human are held.
      - `enabled` boolean
      - `mode` 'manual' | 'auto'
      - `auto_delay_minutes` integer
      - `auto_min_rating` integer
      - `auto_max_rating` integer
      - `auto_daily_cap` integer
      - `auto_since` string, date-time, nullable: When auto mode was switched on; null in manual mode
      - `instructions` string
      - `sign_off` string, nullable
      - `reply_language` 'review' | 'en': review = the reviewer's language, en = always English
      - `last_synced_at` string, date-time, nullable
      - `last_error` string, nullable: Latest sync or posting problem, e.g. the App Store Connect key lacks a role
    - `usage` object
      - `month` string, date: First day of the UTC month
      - `ai_drafts_used` integer
      - `ai_drafts_included` integer
      - `ai_drafts_paid_with_credits` integer
      - `credits_per_extra_draft` integer

## Other responses

- `400`: Missing or invalid request parameters
- `401`: Missing or invalid API key
- `403`: Plan or scope insufficient (workspace endpoints need an Indie or Agency plan; writes also need a write-scope key)
- `404`: Resource not found or not tracked by your organization
- `429`: Rate limited — see `error.reason`: daily_limit (Indie 1,000, Agency 5,000, trial 150 requests/day, resets 00:00 UTC; see `reset_at`), anonymous_daily_limit / batch_too_large (keyless free tier), store_rate_limited or concurrency_limit (transient, honor `retry_after_seconds`)
- `500`: Unexpected server error

---

[API](https://skmtc.dev/trysonar/apis/sonar-api.md) · [All operations](https://skmtc.dev/trysonar/apis/sonar-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trysonar/apis/sonar-api/revisions/bf1d31dadd5f?raw)
