Deposits
Payment links that add money to the balance.
POST /balance/deposit-links
Make a payment link
Scope: checkout:write. The broad write grant does not include it. Idempotency-Key is required.
Returns a url the member opens to add exactly this amount to their balance, logged in on the website, with the methods the site allows. No email is sent: show or send the URL yourself. One unpaid link per member; a new one replaces it. Off unless the site has payment links switched on.
Parameters
| Name | Where | Description |
|---|---|---|
Idempotency-Key required | header | Makes a retry safe. Required on every POST. Must match ^[A-Za-z0-9_.-]{1,64}$. |
Request body
| Field | Type | Description |
|---|---|---|
amount required | integer | Whole dollars, within the site's minimum and maximum. 1 to 100000. |
Example request
curl -X POST "https://www.seoclerk.com/api/v1/balance/deposit-links" \
-H "Authorization: Bearer $SEOCLERKS_API_KEY" \
-H "Idempotency-Key: createdepositlink-1" \
-H "Content-Type: application/json" \
-d '{"amount":50}'
Response 201
| Field | Type | Description |
|---|---|---|
url | string | Only in the response that creates the link; shown once. The member opens it, logs in and pays. |
id | integer | |
amount | money | |
status | string | |
expires_at | timestamp or null | |
paid_at | timestamp or null | |
deposit_order_id | integer or null | |
gateway_links | list of object | Crypto payments for the same deposit, made when the link is (empty when AdminCP has them off); a Coinbase agent_url can be paid with USDC on Base. |
gateway_links[].gateway | string | |
gateway_links[].url | string | |
gateway_links[].agent_url | string or null | |
gateway_links[].amount | money |
{
"data": {
"url": "https://www.seoclerk.com/pay/dl_3f9a...",
"id": 312,
"amount": {
"amount": "50.00",
"currency": "USD"
},
"status": "open",
"expires_at": "2026-10-10T15:00:00Z",
"paid_at": null,
"deposit_order_id": null
},
"meta": {
"request_id": "9f2c4e1ab07d3351"
}
}
Errors
GET /balance/deposit-links/{id}
A payment link's state
Scope: balance:read, or the broad read.
The caller's own links only. The URL is not shown again.
Parameters
| Name | Where | Description |
|---|---|---|
id required | path | At least 1. |
If-None-Match | header | An ETag from an earlier response. |
Example request
curl "https://www.seoclerk.com/api/v1/balance/deposit-links/1024" \
-H "Authorization: Bearer $SEOCLERKS_API_KEY"
Response 200
| Field | Type | Description |
|---|---|---|
url | string | Only in the response that creates the link; shown once. The member opens it, logs in and pays. |
id | integer | |
amount | money | |
status | string | |
expires_at | timestamp or null | |
paid_at | timestamp or null | |
deposit_order_id | integer or null | |
gateway_links | list of object | Crypto payments for the same deposit, made when the link is (empty when AdminCP has them off); a Coinbase agent_url can be paid with USDC on Base. |
gateway_links[].gateway | string | |
gateway_links[].url | string | |
gateway_links[].agent_url | string or null | |
gateway_links[].amount | money |
{
"data": {
"url": "https://www.seoclerk.com/example",
"id": 1024,
"amount": {
"amount": "12.50",
"currency": "USD"
},
"status": "open",
"expires_at": "2026-10-10T14:03:22Z",
"paid_at": "2026-10-10T14:03:22Z",
"deposit_order_id": 1024,
"gateway_links": [
{
"gateway": "coinbase",
"url": "https://www.seoclerk.com/example",
"agent_url": "https://www.seoclerk.com/example",
"amount": {
"amount": "12.50",
"currency": "USD"
}
}
]
},
"meta": {
"request_id": "9f2c4e1ab07d3351"
}
}
Errors
| Status | Codes |
|---|---|
| 400 | https_required key_in_query |
| 401 | account_unavailable invalid_credentials key_expired key_revoked |
| 403 | missing_scope |
| 404 | not_found |
| 405 | method_not_allowed |
| 422 | invalid_id invalid_parameter |
| 429 | rate_limited |
| 500 | internal_error |