SeoclerksDevelopers

Payouts

Withdrawals. Off unless the site has them switched on.

GET /balance/withdrawal-requests

Pending withdrawal requests

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

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.
If-None-MatchheaderAn ETag from an earlier response.

Example request

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

Response 200

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

FieldTypeDescription
idinteger
amountmoney
methodstring
created_attimestamp or null
sitestring
{
    "data": [
        {
            "id": 1024,
            "amount": {
                "amount": "12.50",
                "currency": "USD"
            },
            "method": "Payoneer",
            "created_at": "2026-10-10T14:03:22Z",
            "site": "SEOClerks"
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /balance/withdrawal-requests

Request a withdrawal

Scope: payouts:write. The broad write grant does not include it. Idempotency-Key is required.

Needs a step-up the member approved on the website for exactly this method and amount (see the Step-up section). Every check is the website's own. Nothing is debited now: the request is paid later, as on the website. The member is emailed. A refused request leaves the step-up unused. Off unless the site has API withdrawals switched on. No route changes a payout destination.

Parameters

NameWhereDescription
Idempotency-Key requiredheaderMakes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$.
Step-Up requiredheaderThe id of a step-up the member approved for exactly this request. Must match ^[1-9][0-9]{0,9}$.

Request body

FieldTypeDescription
method requiredstringOne of Payoneer, nowpayments, Veem, Revolut, Coinbase, ChangeNOW.
amount requiredstringMust match ^[0-9]{1,7}(\.[0-9]{1,2})?$.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/balance/withdrawal-requests" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: createwithdrawalrequest-1" \
  -H "Step-Up: 88" \
  -H "Content-Type: application/json" \
  -d '{"method":"Payoneer","amount":"25.00"}'

Response 201

FieldTypeDescription
idinteger
amountmoney
methodstring
created_attimestamp or null
sitestring
{
    "data": {
        "id": 70412,
        "amount": {
            "amount": "25.00",
            "currency": "USD"
        },
        "method": "Payoneer",
        "created_at": "2026-10-10T14:06:40Z",
        "site": "www.seoclerk.com"
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

DELETE /balance/withdrawal-requests/{id}

Cancel a pending withdrawal request

Scope: payouts:write. The broad write grant does not include it. Idempotency-Key is optional.

No step-up: a cancel keeps money in the account. A request already being paid cannot be cancelled.

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/balance/withdrawal-requests/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 204

No body.

Errors

GET /balance/withdrawals

Processed withdrawals

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

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.
If-None-MatchheaderAn ETag from an earlier response.

Example request

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

Response 200

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

FieldTypeDescription
idinteger
request_idinteger
amountmoney
paidmoney
methodstring
created_attimestamp or null
processed_attimestamp or null
{
    "data": [
        {
            "id": 1024,
            "request_id": 1024,
            "amount": {
                "amount": "12.50",
                "currency": "USD"
            },
            "paid": {
                "amount": "12.50",
                "currency": "USD"
            },
            "method": "Payoneer",
            "created_at": "2026-10-10T14:03:22Z",
            "processed_at": "2026-10-10T14:03:22Z"
        }
    ],
    "meta": {
        "limit": 1,
        "next_cursor": "string",
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /me/payout-methods

Payout methods and whether each is ready

Scope: balance:read, or the broad read.

Read only. Destinations are masked and are set on the website. Not paginated.

Parameters

NameWhereDescription
If-None-MatchheaderAn ETag from an earlier response.

Example request

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

Response 200

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

FieldTypeDescription
methodstring
configuredboolean
confirmedboolean
destinationstring or nullMasked: enough to recognise, not enough to copy. Always null for Payoneer.
hold_untiltimestamp or null
minimummoney
maximummoney or null
{
    "data": [
        {
            "method": "Payoneer",
            "configured": true,
            "confirmed": true,
            "destination": "string",
            "hold_until": "2026-10-10T14:03:22Z",
            "minimum": {
                "amount": "12.50",
                "currency": "USD"
            },
            "maximum": {
                "amount": "12.50",
                "currency": "USD"
            }
        }
    ],
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

POST /me/step-ups

Ask the member to approve one withdrawal

Scope: payouts:write. The broad write grant does not include it. Idempotency-Key is required.

Returns approve_url. One pending step-up per key and action; a new one replaces it. At most 10 per key per hour.

Parameters

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

Request body

FieldTypeDescription
action requiredstringOne of withdrawal.
method requiredstringA payout method, as me/payout-methods lists them. One of Payoneer, nowpayments, Veem, Revolut, Coinbase, ChangeNOW.
amount requiredstringThe amount as a string. Must match ^[0-9]{1,7}(\.[0-9]{1,2})?$.

Example request

curl -X POST "https://www.seoclerk.com/api/v1/me/step-ups" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY" \
  -H "Idempotency-Key: createstepup-1" \
  -H "Content-Type: application/json" \
  -d '{"action":"withdrawal","method":"Payoneer","amount":"25.00"}'

Response 201

FieldTypeDescription
approve_urlstringOnly in the response that creates the step-up; shown once. The member opens it logged in on the website.
idinteger
actionstring
statusstring
requestobjectWhat the member is asked to approve.
request.methodstring
request.amountstring
expires_attimestamp or null
{
    "data": {
        "approve_url": "https://www.seoclerk.com/settings/api/approve/su_5b1c...",
        "id": 88,
        "action": "withdrawal",
        "status": "pending",
        "request": {
            "method": "Payoneer",
            "amount": "25.00"
        },
        "expires_at": "2026-10-10T14:13:22Z"
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

GET /me/step-ups/{id}

Where a step-up stands

Scope: payouts:write. No read scope reaches it. Only the key that asked for the step-up can read it; another key of the same member gets 404.

Parameters

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

Example request

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

Response 200

FieldTypeDescription
approve_urlstringOnly in the response that creates the step-up; shown once. The member opens it logged in on the website.
idinteger
actionstring
statusstring
requestobjectWhat the member is asked to approve.
request.methodstring
request.amountstring
expires_attimestamp or null
{
    "data": {
        "approve_url": "https://www.seoclerk.com/example",
        "id": 1024,
        "action": "string",
        "status": "pending",
        "request": {
            "method": "Payoneer",
            "amount": "string"
        },
        "expires_at": "2026-10-10T14:03:22Z"
    },
    "meta": {
        "request_id": "9f2c4e1ab07d3351"
    }
}

Errors

DELETE /me/step-ups/{id}

Withdraw a step-up

Scope: payouts:write. The broad write grant does not include it. Idempotency-Key is optional.

A pending or approved step-up becomes revoked.

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/me/step-ups/1024" \
  -H "Authorization: Bearer $SEOCLERKS_API_KEY"

Response 204

No body.

Errors