The REST API mirrors the MCP tools for code that isn't an agent. It takes the same fields and returns the same review object, so MCP server is the reference for what each field means.
- Base URL:
https://revisemy.com/api - Auth:
Authorization: Bearer YOUR_TRY_TOKENon everything exceptPOST /try-token. See Authentication. - Send and expect JSON, with
Accept: application/jsonso errors come back as JSON too.
Status codes
| Code | Means |
|---|---|
200 / 201 |
Done. The body is the review, or what the endpoint describes. |
401 |
The token is missing, wrong or expired. |
402 |
Not enough credits. The body says how many you need and have. |
404 |
No review with that id for this token. |
422 |
The request didn't validate, or the review isn't in a state for it. message says which. |
429 |
Too many requests. See rate limits. |
POST /try-token
Makes a try workspace and its token. No auth.
curl -s -X POST https://revisemy.com/api/try-token
POST /reviews
Starts a review. Send a title and exactly one source: images, capture_url with page_url, pdf, or html.
curl -s -X POST https://revisemy.com/api/reviews \
-H "Authorization: Bearer $REVISEMY_TOKEN" \
-H "Content-Type: application/json" -H "Accept: application/json" \
-d '{
"title": "Launch email",
"type": "email",
"html": "<html>…</html>",
"webhook_url": "https://ci.example.com/hooks/revisemy"
}'
| Field | Notes |
|---|---|
title |
Required. Up to 160 characters. |
context |
What the person should look at on this pass |
type |
ui (default), website, presentation or email. It sets the second opinion's checklist. |
images |
1 to 5 screenshots: https image URLs, data URLs or base64 |
capture_url + page_url |
true and a public URL: ReviseMy captures desktop and mobile |
pdf |
An https URL or base64. One shot per page, up to 5. |
html |
An email's HTML, rendered at mail-client width |
parent_id |
The previous pass, when opening the next one |
webhook_url |
An https URL to POST to when the person decides. See Webhooks. |
Returns 201 with the review.
GET /reviews/{id}
The review, with its marks and next_action. This is what you poll.
curl -s https://revisemy.com/api/reviews/$REVIEW_ID -H "Authorization: Bearer $REVISEMY_TOKEN"
GET /reviews
The 20 latest reviews for this token, as summaries: status, pass, outstanding and awaiting-verification counts, and next_action. Get a review by id for its marks.
curl -s https://revisemy.com/api/reviews -H "Authorization: Bearer $REVISEMY_TOKEN"
POST /reviews/{id}/screenshots
Adds a shot to an open review. Returns the review.
curl -s -X POST https://revisemy.com/api/reviews/$REVIEW_ID/screenshots \
-H "Authorization: Bearer $REVISEMY_TOKEN" -H "Content-Type: application/json" \
-d '{"image": "data:image/png;base64,iVBORw0…"}'
POST /reviews/{id}/marks/resolve
Reports progress on marks while you fix them. Only works while the status is changes_requested.
curl -s -X POST https://revisemy.com/api/reviews/$REVIEW_ID/marks/resolve \
-H "Authorization: Bearer $REVISEMY_TOKEN" -H "Content-Type: application/json" \
-d '{
"marks": [
{"id": 41, "status": "resolved", "note": "Tightened the heading spacing.", "after_image": "https://example.com/after.png"},
{"id": 42, "status": "in_progress"}
]
}'
Returns updated (a count), skipped (marks that didn't change, and why) and the review. If nothing changed, it's a 422 with skipped.
POST /reviews/{id}/findings
Adds hints before the person looks. Up to 20 at once, each with a body and an optional severity (suggestion, a11y or polish), screenshot_index, area and related_pin.
curl -s -X POST https://revisemy.com/api/reviews/$REVIEW_ID/findings \
-H "Authorization: Bearer $REVISEMY_TOKEN" -H "Content-Type: application/json" \
-d '{"findings": [{"body": "The footer links are under 4.5:1 contrast.", "severity": "a11y"}]}'
POST /reviews/{id}/second-opinion
Runs the second opinion again, on every shot or on one by screenshot_index. Returns queued and the review.
curl -s -X POST https://revisemy.com/api/reviews/$REVIEW_ID/second-opinion \
-H "Authorization: Bearer $REVISEMY_TOKEN"
GET /billing
Credits left, the plan, what each source costs, and when credits refill.
curl -s https://revisemy.com/api/billing -H "Authorization: Bearer $REVISEMY_TOKEN"