Review remarks
`/review-remarks` - read-only
One page of records, newest first unless you say otherwise, with the total count in meta so you know how far to paginate.
Required scope: review-remarks:read.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
page?integer1-based. meta.totalPages says how many there are.
1 <= value1per_page?integerRows per page. A value above 200 returns 400 - never a silent clamp.
1 <= value <= 20050sort?stringPrefix with - for descending. An undeclared sort returns 400.
"-createdAt""createdAt""-createdAt""status""-status""kind""-kind"q?stringCase-insensitive "contains", across: body, elementText, pagePath, pageTitle.
filter[status]?stringExact match on status.
filter[kind]?stringExact match on kind.
filter[clientId]?stringExact match on clientId.
filter[projectId]?stringExact match on projectId.
filter[pagePath]?stringExact match on pagePath.
The requested page.
application/json- response
data*array<>meta*curl -X GET 'https://api.usedashly.com/v1/review-remarks'{ "data": [ { "id": "string", "kind": "string", "body": "string", "status": "string", "reporterName": "string", "pageUrl": "string", "pagePath": "string", "pageTitle": "string", "selector": "string", "elementText": "string", "elementRect": null, "viewport": null, "userAgent": "string", "locale": "string", "context": null, "zones": null, "pageErrors": null, "release": "string", "screenshot": "string", "fixUrl": "string", "fixOpenedAt": "2019-08-24T14:15:22Z", "siteName": "string", "repository": "string", "clientId": "string", "projectId": "string", "ticketId": "string", "createdAt": "2019-08-24T14:15:22Z" } ], "meta": { "page": 0, "perPage": 0, "total": 0, "totalPages": 0 }}The full record, custom fields included when the resource carries them. A record from another agency is a 404, not a 403 - its existence is not ours to confirm.
Required scope: review-remarks:read.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
id*stringThe record's public id (hsbftmp3f5), as returned in the id field. An internal UUID returns 404.
Found.
application/json- response
data*curl -X GET 'https://api.usedashly.com/v1/review-remarks/string'{ "data": { "id": "string", "kind": "string", "body": "string", "status": "string", "reporterName": "string", "pageUrl": "string", "pagePath": "string", "pageTitle": "string", "selector": "string", "elementText": "string", "elementRect": null, "viewport": null, "userAgent": "string", "locale": "string", "context": null, "zones": null, "pageErrors": null, "release": "string", "screenshot": "string", "fixUrl": "string", "fixOpenedAt": "2019-08-24T14:15:22Z", "siteName": "string", "repository": "string", "clientId": "string", "projectId": "string", "ticketId": "string", "createdAt": "2019-08-24T14:15:22Z" }}Every verb this resource answers to, with its target and the JSON Schema of its body - the same contracts this document describes, readable at runtime.
Required scope: review-remarks:read.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
The available verbs.
application/json- response
data*array<>curl -X GET 'https://api.usedashly.com/v1/review-remarks/actions'{ "data": [ { "name": "string", "label": "string", "description": "string", "target": "item", "readOnly": true, "path": "string", "input": {} } ]}Records the change proposed for this remark - a pull request, usually - and posts the link in the linked work item's feed when it has one. It changes no status: proposing a fix is not fixing it.
Does what the dashboard's proposeWidgetFixAction does - same implementation, so the two cannot diverge.
Required scope: review-remarks:write.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
id*stringThe public id of the record to act on. It is resolved inside your agency before the action runs, so an id from another tenant is a 404 and never reaches it.
Idempotency-Key?stringA value you choose (a UUID is the usual one), 8 to 255 characters of A-Z a-z 0-9 _ . : -. Retrying with the same key returns the first call's answer instead of creating a second record, for seven days. The same key with a different body returns 409.
8 <= length <= 255application/json- body
url*string1 <= length <= 2000Done.
application/json- response
data*unknownThe action's result; its shape depends on the verb.
curl -X POST 'https://api.usedashly.com/v1/review-remarks/string/actions/propose-fix' \ -H 'Content-Type: application/json' \ -d '{ "url": "string"}'{ "data": null}Sets the remark aside without making work of it - a test, a duplicate, a remark that answered itself. The row is kept: the page it came from is the only record of what the reviewer was looking at. A remark already filed as a ticket cannot be dismissed; archive the ticket instead.
Does what the dashboard's dismissWidgetFeedbackAction does - same implementation, so the two cannot diverge. Takes no body.
Required scope: review-remarks:write.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
id*stringThe public id of the record to act on. It is resolved inside your agency before the action runs, so an id from another tenant is a 404 and never reaches it.
Idempotency-Key?stringA value you choose (a UUID is the usual one), 8 to 255 characters of A-Z a-z 0-9 _ . : -. Retrying with the same key returns the first call's answer instead of creating a second record, for seven days. The same key with a different body returns 409.
8 <= length <= 255Done.
application/json- response
data*unknownThe action's result; its shape depends on the verb.
curl -X POST 'https://api.usedashly.com/v1/review-remarks/string/actions/dismiss'{ "data": null}Closes an in-progress review remark after the delivered change was verified.
Does what the dashboard's resolveWidgetFeedbackAction does - same implementation, so the two cannot diverge.
Required scope: review-remarks:write.
bearerAuthAuthorizationBearer <token>Your agency's API key: Authorization: Bearer ak_…. Created in Connectors → API & webhooks and shown once. A key authenticates an agency, not a person.
id*stringThe public id of the record to act on. It is resolved inside your agency before the action runs, so an id from another tenant is a 404 and never reaches it.
Idempotency-Key?stringA value you choose (a UUID is the usual one), 8 to 255 characters of A-Z a-z 0-9 _ . : -. Retrying with the same key returns the first call's answer instead of creating a second record, for seven days. The same key with a different body returns 409.
8 <= length <= 255application/json- body
Done.
application/json- response
data*unknownThe action's result; its shape depends on the verb.
curl -X POST 'https://api.usedashly.com/v1/review-remarks/string/actions/resolve' \ -H 'Content-Type: application/json' \ -d '{}'{ "data": null}