SeoclerksDevelopers

Trades (Want To Trade)

Read only.

GET /wtt

Search trades, or list your own

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

Read only: trades can no longer be created.

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.
minequery1: your own, in any state. One of 0, 1. Default 0.
category_idqueryAt least 1.
qqueryMatches the title. 2 to 120 characters.
statusqueryNeeds mine=1. One of 0, 1, 2, 3, 4.
If-None-MatchheaderAn ETag from an earlier response.

Example request

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

Response 200

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

FieldTypeDescription
idinteger
member_idinteger
titlestring
descriptionstring
category_idinteger
budgetmoney
delivery_daysinteger
created_attimestamp or null
statusinteger1 live, 4 draft; the others are the owner's own inactive states.
cancelledbooleanClosed to new bids.
tagsstring
skillsstring
requirementsstringOn wtb.
offeringstringOn wtt.
imageslist of object
images[].idstringPass back in images to keep it on an edit.
images[].urlstring
{
    "data": [
        {
            "id": 1024,
            "member_id": 1024,
            "title": "Logo design",
            "description": "A short description.",
            "category_id": 1024,
            "budget": {
                "amount": "12.50",
                "currency": "USD"
            },
            "delivery_days": 1,
            "created_at": "2026-10-10T14:03:22Z",
            "status": 1,
            "cancelled": true,
            "tags": "string",
            "skills": "string",
            "requirements": "string",
            "offering": "string",
            "images": [
                {}
            ]
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /wtt/{id}

A trade

Scope: listings:read, or the broad read. Live requests, or your own in any state.

Parameters

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

Example request

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

Response 200

FieldTypeDescription
idinteger
member_idinteger
titlestring
descriptionstring
category_idinteger
budgetmoney
delivery_daysinteger
created_attimestamp or null
statusinteger1 live, 4 draft; the others are the owner's own inactive states.
cancelledbooleanClosed to new bids.
tagsstring
skillsstring
requirementsstringOn wtb.
offeringstringOn wtt.
imageslist of object
images[].idstringPass back in images to keep it on an edit.
images[].urlstring
{
    "data": {
        "id": 1024,
        "member_id": 1024,
        "title": "Logo design",
        "description": "A short description.",
        "category_id": 1024,
        "budget": {
            "amount": "12.50",
            "currency": "USD"
        },
        "delivery_days": 1,
        "created_at": "2026-10-10T14:03:22Z",
        "status": 1,
        "cancelled": true,
        "tags": "string",
        "skills": "string",
        "requirements": "string",
        "offering": "string",
        "images": [
            {
                "id": "string",
                "url": "https://www.seoclerk.com/example"
            }
        ]
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /wtt/{id}/comments

Comments on a trade

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/wtt/1024/comments" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

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

FieldTypeDescription
idinteger
parent_idinteger or null
member_idinteger
textstring
created_attimestamp or null
updated_attimestamp or null
{
    "data": [
        {
            "id": 1024,
            "parent_id": 1024,
            "member_id": 1024,
            "text": "Hello.",
            "created_at": "2026-10-10T14:03:22Z",
            "updated_at": "2026-10-10T14:03:22Z"
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /wtt/{id}/responses

Offers on a trade

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/wtt/1024/responses" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 200

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

FieldTypeDescription
idinteger
member_idinteger
service_idinteger or null
titlestring
textstring
price_publicboolean
pricemoney or null
multiple_quantityboolean
created_attimestamp or null
{
    "data": [
        {
            "id": 1024,
            "member_id": 1024,
            "service_id": 1024,
            "title": "Logo design",
            "text": "Hello.",
            "price_public": true,
            "price": {
                "amount": "12.50",
                "currency": "USD"
            },
            "multiple_quantity": true,
            "created_at": "2026-10-10T14:03:22Z"
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors