SeoclerksDevelopers

Services

Listings.

PATCH /ratings/{id}

Change your rating of a seller

Scope: orders:write, or the broad write. Idempotency-Key is optional.

Only the member who left the rating. The id is the one GET services/{id}/ratings gives, or GET me/ratings for ratings of your listings (role=seller, the default; role=buyer ids are another kind of rating).

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-KeyheaderMakes a retry safe. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
rating requiredstringOne of positive, negative.
comment requiredstringAt most 500 characters. 1 to 500 characters.

Example request

curl -X PATCH "https://www.seoclerk.com/api/v1/ratings/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rating":"positive","comment":"Great work."}'

Response 200

FieldTypeDescription
idinteger
ratingstring
commentstring
{
    "data": {
        "id": 1024,
        "rating": "positive",
        "comment": "Great work."
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /ratings/{id}/helpful

Mark a rating helpful

Scope: account:write, or the broad write. Idempotency-Key is required.

Marking twice changes nothing. After six changes to one rating in half an hour, as on the website, the next answers 429 rate_limited.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/ratings/1024/helpful" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: markratinghelpful-1"

Response 200

FieldTypeDescription
idinteger
helpfulbooleanWhether you have marked it helpful.
helpful_totalinteger
{
    "data": {
        "id": 1024,
        "helpful": true,
        "helpful_total": 1
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

DELETE /ratings/{id}/helpful

Take back a helpful mark

Scope: account:write, or the broad write. Idempotency-Key is optional.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-KeyheaderMakes a retry safe. Must match ^[A-Za-z0-9_.-]{1,64}$.

Example request

curl -X DELETE "https://www.seoclerk.com/api/v1/ratings/1024/helpful" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

FieldTypeDescription
idinteger
helpfulbooleanWhether you have marked it helpful.
helpful_totalinteger
{
    "data": {
        "id": 1024,
        "helpful": true,
        "helpful_total": 1
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /ratings/{id}/reply

Reply to a rating of your listing

Scope: orders:write, or the broad write. Idempotency-Key is required.

Only the listing's seller. Sending it again changes the reply.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
text requiredstringAt most 500 characters. 1 to 500 characters.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/ratings/1024/reply" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: replytorating-1" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello."}'

Response 200

FieldTypeDescription
idinteger
replystring
{
    "data": {
        "id": 1024,
        "reply": "string"
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services

Search the catalog, or list your own listings

Scope: listings:read, or the broad read. Newest first, by id.

Generated order-only listings are never listed.

Parameters

NameWhereDescription
cursorquerymeta.next_cursor from the previous page. Up to 1024 characters.
limitqueryPage size. Above 100 is treated as 100. At least 1. Default 25.
qqueryMatches title and tags. 2 to 120 characters.
category_idqueryAt least 1.
seller_idqueryAt least 1.
minequery1: your own listings, in any state. One of 0, 1.
statusqueryNeeds mine=1. One of 0, 1, 2, 4.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

A page of these in data, with meta.limit and meta.next_cursor.

FieldTypeDescription
idinteger
seller_idinteger
titlestring
category_idintegerFor a service (type 0), an id from GET categories.
typeinteger
statusinteger0 inactive, 1 active, 2 paused, 4 draft or in review. Only 1 is public.
pricemoneyThe cheapest tier's price, or the sale price when on sale.
delivery_daysinteger
created_attimestamp or null
ratingnumber
sold_outboolean
positioninteger or nullYour own listings only: their order on your Manage services page, lowest first (0 when never set). Null on anyone else's.
{
    "data": [
        {
            "id": 1024,
            "seller_id": 1024,
            "title": "Logo design",
            "category_id": 1024,
            "type": 1,
            "status": 1,
            "price": {
                "amount": "12.50",
                "currency": "USD"
            },
            "delivery_days": 1,
            "created_at": "2026-10-10T14:03:22Z",
            "rating": 4.8,
            "sold_out": true,
            "position": 1
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /services

Create a listing

Scope: listings:write, or the broad write. Idempotency-Key is required.

The sell form's own rules, through listing_write.php: title, description, instructions, category, price, delivery and media, then quick delivery, extras, tiers, subscription, sale, coupons, the abandoned-checkout discount, guarantee, affiliate commission, custom fields and included features. draft keeps it a draft; otherwise it goes live or to review as the website decides. Software and instant-download listings are website-only.

Parameters

NameWhereDescription
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
title requiredstringUp to 500 characters.
description requiredstringUp to 65000 characters.
instructions requiredstringAt least 50 characters. Up to 65000 characters.
tags requiredstringUp to 250 characters.
category_id requiredinteger1 to 2147483647.
price requiredintegerWhole dollars. 1 to 999999.
delivery_days requiredinteger0 to 100000.
allow_multipleboolean
media requiredlist of stringImage ids from POST images, or on an edit the listing's own media ids as GET services/{id} gives them. At most ten; an empty list is refused. Left out of an edit, the gallery stays. Up to 10 items.
quick_deliveryobject or null
quick_delivery.days requiredintegerFaster delivery, in days. 0 to 100000.
quick_delivery.price requiredintegerWhole dollars. 0 to 999999.
extraslist of objectUp to 50 items.
extras[].idintegerKeeps this extra's key. Omit for a new extra. 1 to 1000.
extras[].name requiredstringUp to 150 characters.
extras[].price requiredintegerWhole dollars. 0 to 999999.
extras[].days requiredinteger0 to 100000.
extras[].quick_daysinteger0 to 100000.
tierslist of object or nullUp to 3 items.
tiers[].name requiredstringUp to 60 characters.
tiers[].price requiredintegerWhole dollars. 0 to 999999.
tiers[].days requiredinteger0 to 100000.
tiers[].sale_priceinteger0 to 999999.
tiers[].quick_daysinteger0 to 100000.
tiers[].quick_priceinteger0 to 999999.
tiers[].features requiredlist of stringUp to 10 items.
subscriptionstring or nullOne of D, W, B, M, Y.
saleobject or null
sale.price requiredintegerWhole dollars, below the listing price. 0 to 999999.
sale.days requiredinteger0 to 100000.
couponslist of objectUp to 20 items.
coupons[].code requiredstring5 to 20 letters, digits, dots, dashes or underscores. Up to 64 characters.
coupons[].discount requiredinteger5 to 90 percent. 0 to 100.
coupons[].enabledbooleanDefault true.
abandoned_discountinteger0 to 50 in steps of 5. 0 to 50.
guaranteeobject or null
guarantee.percent requiredinteger25 to 100. 0 to 100.
guarantee.text requiredstringUp to 300 characters.
affiliate_commissioninteger or nullThe standard rate to 70. 0 to 100.
custom_fieldslist of objectUp to 20 items.
custom_fields[].icon requiredstringOne of the form's icons. Up to 64 characters.
custom_fields[].title requiredstringUp to 100 characters.
custom_fields[].description requiredstringUp to 200 characters.
included_featureslist of stringUp to 20 items.
allow_subscribeboolean or nullNull keeps what is stored: the form did not show it.
draftbooleanCreate as a draft; publish it later with an edit.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/services" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: createservice-1" \
  -H "Content-Type: application/json" \
  -d '{"title":"Logo design","description":"A short description.","instructions":"string","category_id":1024,"tags":"string","price":1,"delivery_days":1,"media":["string"]}'

Response 201

FieldTypeDescription
idinteger
statusinteger
urlstring
{
    "data": {
        "id": 1024,
        "status": 1,
        "url": "https://www.seoclerk.com/example"
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /services/positions

Order your own listings

Scope: listings:write, or the broad write. Idempotency-Key is required.

The order of your listings on your Manage services page. Every id must be one of your listings that is not deleted, or nothing changes (404). Each listing's position is in its reads.

Parameters

NameWhereDescription
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
service_ids requiredlist of integerYour own listings, first to last; at most 200, each once. Listings not named keep their place. Up to 200 items.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/services/positions" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: setservicepositions-1" \
  -H "Content-Type: application/json" \
  -d '{"service_ids":[1]}'

Response 200

FieldTypeDescription
positionslist of object
positions[].idinteger
positions[].positioninteger
{
    "data": {
        "positions": [
            {
                "id": 1024,
                "position": 1
            }
        ]
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services/{id}

A listing

Scope: listings:read, or the broad read.

A listing that is not public is visible to its seller only.

Parameters

NameWhereDescription
id requiredpathAt least 1.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

FieldTypeDescription
idinteger
seller_idinteger
titlestring
category_idintegerFor a service (type 0), an id from GET categories.
typeinteger
statusinteger0 inactive, 1 active, 2 paused, 4 draft or in review. Only 1 is public.
pricemoneyThe cheapest tier's price, or the sale price when on sale.
delivery_daysinteger
created_attimestamp or null
ratingnumber
sold_outboolean
positioninteger or nullYour own listings only: their order on your Manage services page, lowest first (0 when never set). Null on anyone else's.
descriptionstringStored content, not trusted HTML.
subscriptionobject
subscription.enabledboolean
subscription.intervalstring
subscription.interval_daysinteger
allow_multipleboolean
instant_deliveryboolean
quantity_availableinteger
tierslist of object
tiers[].idinteger / string
tiers[].namestring
tiers[].pricemoney
tiers[].delivery_daysinteger / string
tiers[].featuresanyAs stored for the tier.
tiers[].quick_delivery_daysanyAs stored for the tier.
tiers[].quick_delivery_pricemoney
{
    "data": {
        "id": 1024,
        "seller_id": 1024,
        "title": "Logo design",
        "category_id": 1024,
        "type": 1,
        "status": 1,
        "price": {
            "amount": "12.50",
            "currency": "USD"
        },
        "delivery_days": 1,
        "created_at": "2026-10-10T14:03:22Z",
        "rating": 4.8,
        "sold_out": true,
        "position": 1,
        "description": "A short description.",
        "subscription": {
            "enabled": true,
            "interval": "string",
            "interval_days": 1
        },
        "allow_multiple": true,
        "instant_delivery": true,
        "quantity_available": 1,
        "tiers": [
            {
                "id": 1024,
                "name": "Example",
                "price": {
                    "amount": "12.50",
                    "currency": "USD"
                },
                "delivery_days": 1,
                "features": "string",
                "quick_delivery_days": "string",
                "quick_delivery_price": {
                    "amount": "12.50",
                    "currency": "USD"
                }
            }
        ]
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

PATCH /services/{id}

Edit your listing

Scope: listings:write, or the broad write. The seller only; anyone else gets 404. Software and instant-download listings are edited on the website. Idempotency-Key is optional.

Only the fields sent change. publish publishes a draft. An edit that moves a live or paused listing from a category outside review into one inside sends it to review. media names image ids from POST images, or the listing's own ids as GET services/{id} gives them; left out, the gallery stays. The owner's GET services/{id} carries an editable object with exactly these fields, and sending it back changes nothing but the edit time.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-KeyheaderMakes a retry safe. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
titlestringUp to 500 characters.
descriptionstringUp to 65000 characters.
instructionsstringAt least 50 characters. Up to 65000 characters.
tagsstringUp to 250 characters.
category_idinteger1 to 2147483647.
priceintegerWhole dollars. 1 to 999999.
delivery_daysinteger0 to 100000.
allow_multipleboolean
medialist of stringImage ids from POST images, or on an edit the listing's own media ids as GET services/{id} gives them. At most ten; an empty list is refused. Left out of an edit, the gallery stays. Up to 10 items.
quick_deliveryobject or null
quick_delivery.days requiredintegerFaster delivery, in days. 0 to 100000.
quick_delivery.price requiredintegerWhole dollars. 0 to 999999.
extraslist of objectUp to 50 items.
extras[].idintegerKeeps this extra's key. Omit for a new extra. 1 to 1000.
extras[].name requiredstringUp to 150 characters.
extras[].price requiredintegerWhole dollars. 0 to 999999.
extras[].days requiredinteger0 to 100000.
extras[].quick_daysinteger0 to 100000.
tierslist of object or nullUp to 3 items.
tiers[].name requiredstringUp to 60 characters.
tiers[].price requiredintegerWhole dollars. 0 to 999999.
tiers[].days requiredinteger0 to 100000.
tiers[].sale_priceinteger0 to 999999.
tiers[].quick_daysinteger0 to 100000.
tiers[].quick_priceinteger0 to 999999.
tiers[].features requiredlist of stringUp to 10 items.
subscriptionstring or nullOne of D, W, B, M, Y.
saleobject or null
sale.price requiredintegerWhole dollars, below the listing price. 0 to 999999.
sale.days requiredinteger0 to 100000.
couponslist of objectUp to 20 items.
coupons[].code requiredstring5 to 20 letters, digits, dots, dashes or underscores. Up to 64 characters.
coupons[].discount requiredinteger5 to 90 percent. 0 to 100.
coupons[].enabledbooleanDefault true.
abandoned_discountinteger0 to 50 in steps of 5. 0 to 50.
guaranteeobject or null
guarantee.percent requiredinteger25 to 100. 0 to 100.
guarantee.text requiredstringUp to 300 characters.
affiliate_commissioninteger or nullThe standard rate to 70. 0 to 100.
custom_fieldslist of objectUp to 20 items.
custom_fields[].icon requiredstringOne of the form's icons. Up to 64 characters.
custom_fields[].title requiredstringUp to 100 characters.
custom_fields[].description requiredstringUp to 200 characters.
included_featureslist of stringUp to 20 items.
allow_subscribeboolean or nullNull keeps what is stored: the form did not show it.
publishbooleanPublish a draft.

Example request

curl -X PATCH "https://www.seoclerk.com/api/v1/services/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Logo design"}'

Response 200

FieldTypeDescription
idinteger
statusinteger
{
    "data": {
        "id": 1024,
        "status": 1
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

DELETE /services/{id}

Delete your listing

Scope: listings:write, or the broad write. The seller only; anyone else gets 404. Idempotency-Key is optional.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-KeyheaderMakes a retry safe. Must match ^[A-Za-z0-9_.-]{1,64}$.

Example request

curl -X DELETE "https://www.seoclerk.com/api/v1/services/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 204

No body.

Errors

POST /services/{id}/activate

Activate your listing

Scope: listings:write, or the broad write. The seller only; anyone else gets 404. Idempotency-Key is required.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/services/1024/activate" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: activateservice-1"

Response 200

FieldTypeDescription
idinteger
statusintegerThe listing's status after the action.
{
    "data": {
        "id": 1024,
        "status": 1
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services/{id}/addons

Alias of extras

Scope: listings:read, or the broad read. Newest first, by id.

Parameters

NameWhereDescription
id requiredpathAt least 1.
cursorquerymeta.next_cursor from the previous page. Up to 1024 characters.
limitqueryPage size. Above 100 is treated as 100. At least 1. Default 25.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services/1024/addons" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

A page of these in data, with meta.limit and meta.next_cursor.

FieldTypeDescription
idstringPass in extras when ordering.
namestring
pricemoney
delivery_daysinteger
quick_deliveryboolean
quick_delivery_daysinteger or null
{
    "data": [
        {
            "id": "string",
            "name": "Example",
            "price": {
                "amount": "12.50",
                "currency": "USD"
            },
            "delivery_days": 1,
            "quick_delivery": true,
            "quick_delivery_days": 1
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services/{id}/bumps

A listing's boost history

Scope: listings:read, or the broad read. The seller only; anyone else gets 404. Newest first, by id.

Parameters

NameWhereDescription
id requiredpathAt least 1.
cursorquerymeta.next_cursor from the previous page. Up to 1024 characters.
limitqueryPage size. Above 100 is treated as 100. At least 1. Default 25.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services/1024/bumps" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

A page of these in data, with meta.limit and meta.next_cursor.

FieldTypeDescription
idinteger
typestring
created_attimestamp or null
paidboolean
rebumpedboolean
{
    "data": [
        {
            "id": 1024,
            "type": "string",
            "created_at": "2026-10-10T14:03:22Z",
            "paid": true,
            "rebumped": true
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /services/{id}/bumps

Boost your listing

Scope: bumps:write, or the broad write. The seller only. Idempotency-Key is required.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Request body

FieldTypeDescription
type requiredstringWhich credit to spend. One of free, paid.
reboostbooleanPaid only: book a second boost twelve hours later.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/services/1024/bumps" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: boostservice-1" \
  -H "Content-Type: application/json" \
  -d '{"type":"free"}'

Response 201

FieldTypeDescription
idinteger
service_idinteger
spentstringThe kind of credit spent.
reboostboolean
created_attimestamp or null
balanceobjectBoost credits.
balance.freeinteger
balance.paidinteger
{
    "data": {
        "id": 1024,
        "service_id": 1024,
        "spent": "string",
        "reboost": true,
        "created_at": "2026-10-10T14:03:22Z",
        "balance": {
            "free": 1,
            "paid": 1
        }
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services/{id}/extras

A listing's extras

Scope: listings:read, or the broad read. Newest first, by id.

In stored order, not by id. Editing the listing invalidates an outstanding cursor.

Parameters

NameWhereDescription
id requiredpathAt least 1.
cursorquerymeta.next_cursor from the previous page. Up to 1024 characters.
limitqueryPage size. Above 100 is treated as 100. At least 1. Default 25.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services/1024/extras" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

A page of these in data, with meta.limit and meta.next_cursor.

FieldTypeDescription
idstringPass in extras when ordering.
namestring
pricemoney
delivery_daysinteger
quick_deliveryboolean
quick_delivery_daysinteger or null
{
    "data": [
        {
            "id": "string",
            "name": "Example",
            "price": {
                "amount": "12.50",
                "currency": "USD"
            },
            "delivery_days": 1,
            "quick_delivery": true,
            "quick_delivery_days": 1
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /services/{id}/pause

Pause your listing

Scope: listings:write, or the broad write. The seller only; anyone else gets 404. Idempotency-Key is required.

Parameters

NameWhereDescription
id requiredpathAt least 1.
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/services/1024/pause" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: pauseservice-1"

Response 200

FieldTypeDescription
idinteger
statusintegerThe listing's status after the action.
{
    "data": {
        "id": 1024,
        "status": 1
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /services/{id}/ratings

A listing's ratings

Scope: listings:read, or the broad read. Newest first, by id.

Parameters

NameWhereDescription
id requiredpathAt least 1.
cursorquerymeta.next_cursor from the previous page. Up to 1024 characters.
limitqueryPage size. Above 100 is treated as 100. At least 1. Default 25.
If-None-MatchheaderAn ETag from an earlier response.

Example request

curl "https://www.seoclerk.com/api/v1/services/1024/ratings" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

A page of these in data, with meta.limit and meta.next_cursor.

FieldTypeDescription
idinteger
member_idintegerThe member rated.
rater_idinteger
service_idinteger
positiveboolean
negativeboolean
commentstring
created_attimestamp or null
edited_attimestamp or null
replystringThe seller's reply. Only on ratings of a seller, and only when there is one.
{
    "data": [
        {
            "id": 1024,
            "member_id": 1024,
            "rater_id": 1024,
            "service_id": 1024,
            "positive": true,
            "negative": true,
            "comment": "Great work.",
            "created_at": "2026-10-10T14:03:22Z",
            "edited_at": "2026-10-10T14:03:22Z",
            "reply": "string"
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors