Skip to content
Loading keys…
Authorization<token>

A public key (pk./pk_test.) is accepted on /payments, /customers, /links, /invoices and the catalogue reads (/channels, /providers, /countries, /currencies); anything that moves money out, reads the balance or manages the account answers 406 to it. It is an identifier, never an authorization. Use a secret key (sk./sk_test.) for sensitive operations (transfers, refunds, balance), or a restricted key (rk./rk_test.) scoped to specific permissions. The _test. variant of any key selects the sandbox environment, there is no separate sandbox URL. Never expose your secret key in client-side code.

In: header

Query Parameters

per_pageinteger | null

Max per page (1–100).

pageinteger

The page to read, from 1, for offset pagination. Ignored with `cursor`.

searchstring

Full-text search over the title, description and custom URL.

type"product" | "event" | "fundraising" | "donation"

Only links of this type.

"product""event""fundraising""donation"
archivedboolean

`true` lists the archived links instead of the active ones.

only_publicboolean

`true` keeps only the links whose page is published.

sort_by"created_at" | "updated_at" | "title" | "type"

The field to order by. Defaults to `created_at`.

"created_at""updated_at""title""type"
sort_dir"asc" | "desc"

The direction of the order. Defaults to `desc`.

"asc""desc"
cursorstring

The `next_cursor` of the previous page. Only with the default sort (`created_at`, `desc`): with another sort the list is paged by number and carries no cursor.

Response Body

application/json

application/json

application/json

curl -X GET "https://api.wajub.com/links?per_page=10&page=2&search=masterclass&type=event&archived=false&only_public=true&sort_by=title&sort_dir=asc"
GET
/links
{  "code": 200,  "status": "OK",  "message": "Payment links retrieved",  "items": [    {      "id": "aB3dE5fG7",      "type": "product",      "product_type": "service",      "category_id": null,      "title": "Annual subscription",      "description": "One year of the members' area.",      "external_reference": "CAT-2026-014",      "custom_url": null,      "url": "https://wajub.link/aB3dE5fG7",      "qr_url": null,      "price": 25000,      "target_amount": null,      "min_amount": null,      "max_amount": null,      "currency": "XAF",      "cta_type": "pay",      "custom_cta_text": null,      "callback_url": "https://example.com/thanks",      "expiry_date": null,      "sales_limit": null,      "is_public": true,      "show_progress": false,      "show_contributors": false,      "allow_overflow": false,      "allow_custom_amount": false,      "is_archived": false,      "tags": [        "membership"      ],      "accept": {},      "suggested_amounts": [],      "extra_fields": {},      "product_variants": [],      "event_start_date": null,      "event_end_date": null,      "event_location": null,      "event_address": null,      "event_city": null,      "event_country": null,      "event_capacity": null,      "event_timezone": null,      "fundraising_milestones": [],      "campaign_deadline": null,      "recurring_enabled": false,      "recurring_intervals": [],      "allow_anonymous": false,      "show_donor_wall": false,      "impact_tiers": [],      "single_use_link": false,      "stock_quantity": null,      "allow_backorder": false,      "shipping_required": false,      "shipping_flat_rate": null,      "shipping_zones": [],      "product_weight": null,      "product_weight_unit": null,      "service_duration": null,      "service_location_type": null,      "service_meeting_url": null,      "service_requirements": null,      "cancellation_policy": null,      "refund_policy": null,      "poster": null,      "gallery": [],      "file_url": null,      "download_instructions": null,      "generate_qr_tickets": false,      "attendee_info_fields": [],      "thank_you_message": "Welcome aboard!",      "created_at": "2026-09-10T09:00:00+00:00",      "updated_at": "2026-09-10T09:00:00+00:00"    }  ],  "meta": {    "current_page": 1,    "last_page": 1,    "per_page": 25,    "total": 1,    "next_cursor": null,    "has_more": false  }}

OK

What did you think of this content?