You are integrating Telepatia Synapse Public API.
Endpoint: GET /v1/audits
Base URL: https://scribe-api.telepatia.ai
Auth: Authorization: Bearer ${SYNAPSE_API_KEY}
Request:
- page [query]: integer (optional, min=1) — Page number (1-based).
- limit [query]: integer (optional, min=1, max=50) — Number of items per page.
- reviewStatus [query]: string (optional, enum: pending, inReview, reviewed) — Human-review state of an audit (filter value on the list endpoint).
- createdFrom [query]: string (optional, format=date-time) — Only audits created at or after this time (ISO-8601).
- createdTo [query]: string (optional, format=date-time) — Only audits created at or before this time (ISO-8601).
Success 200:
- items: array<AuditListItem>
- total?: integer
- page: integer
- limit: integer
- totalPages?: integer
- hasMore: boolean
Errors (envelope: { error: { type, code, message, param? } }):
- 400: parameter_missing, parameter_invalid, account_invalid
- 401: authentication_required
- 403: permission_denied, permission_denied_role
- 503: service_unavailable
Generate code in the language of the current file that:
1. Reads SYNAPSE_API_KEY from env (do not hardcode it).
2. Calls the endpoint with typed request and response.
3. Maps the error envelope to typed exceptions per status code.
4. Adds one happy-path test using the Bearer token.