ESC
Start typing to search documentation...
JoonWeb Dev

Forms Endpoints

Detailed technical documentation and implementation guide for Forms Endpoints.

Overview #

List forms #

GET /api/admin/26.0/forms

Parameters

Field Type Description
limit integer [Optional] Number of results to return (default 20, max 10000)
page integer [Optional] Page number to fetch (default 1)
sort_by string [Optional] Field to sort by (e.g. created_at, title)
sort_order string [Optional] Sort direction: asc or desc

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "forms": [
        {
            "id": 402,
            "name": "Contact Us",
            "status": "public",
            "fields": [
                {
                    "name": "firstName",
                    "type": "text",
                    "label": "First Name",
                    "required": true
                },
                {
                    "name": "email",
                    "type": "email",
                    "label": "Email",
                    "required": true
                }
            ],
            "leads_count": 14,
            "created_at": "2026-08-27T11:31:04+02:00"
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

Get form #

GET /api/admin/26.0/forms/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "form": {
        "id": 402,
        "name": "Contact Us",
        "status": "public",
        "fields": [
            {
                "name": "firstName",
                "type": "text",
                "label": "First Name",
                "required": true
            },
            {
                "name": "email",
                "type": "email",
                "label": "Email",
                "required": true
            }
        ],
        "leads_count": 14,
        "created_at": "2026-08-27T11:31:04+02:00"
    }
}

Create form #

POST /api/admin/26.0/forms

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Request Body
{
    "form": {
        "title": "example_title",
        "description": "example_description",
        "fields": [],
        "conditions": [],
        "captcha": "example_captcha",
        "otp": "example_otp",
        "otp_data": {},
        "payment_data": {},
        "notification_email": "[email protected]",
        "notification_type": "example_notification_type",
        "submit_text": "example_submit_text",
        "action": {},
        "type": "example_type",
        "whitelist": [],
        "status": "active"
    }
}
Response
200 OK
{
    "form": {
        "id": 402,
        "name": "Contact Us",
        "status": "public",
        "fields": [
            {
                "name": "firstName",
                "type": "text",
                "label": "First Name",
                "required": true
            },
            {
                "name": "email",
                "type": "email",
                "label": "Email",
                "required": true
            }
        ],
        "leads_count": 14,
        "created_at": "2026-08-27T11:31:04+02:00"
    }
}

Update form #

PUT /api/admin/26.0/forms/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Request Body
{
    "form": []
}
Response
200 OK
{
    "form": {
        "id": 402,
        "name": "Contact Us",
        "status": "public",
        "fields": [
            {
                "name": "firstName",
                "type": "text",
                "label": "First Name",
                "required": true
            },
            {
                "name": "email",
                "type": "email",
                "label": "Email",
                "required": true
            }
        ],
        "leads_count": 14,
        "created_at": "2026-08-27T11:31:04+02:00"
    }
}

Delete form #

DELETE /api/admin/26.0/forms/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "success": true,
    "message": "Deleted successfully"
}

List form leads #

GET /api/admin/26.0/forms/{id}/leads

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "leads": [
        {
            "id": 1,
            "form_id": 402,
            "customer_id": 84920,
            "data": {
                "firstName": "Jane",
                "email": "[email protected]"
            },
            "created_at": "2026-08-27T11:31:04+02:00"
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

List all leads #

GET /api/admin/26.0/leads

Parameters

Field Type Description
limit integer [Optional] Number of results to return (default 20, max 10000)
page integer [Optional] Page number to fetch (default 1)
sort_by string [Optional] Field to sort by (e.g. created_at, title)
sort_order string [Optional] Sort direction: asc or desc

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "leads": [
        {
            "id": 1,
            "form_id": 402,
            "customer_id": 84920,
            "data": {
                "firstName": "Jane",
                "email": "[email protected]"
            },
            "created_at": "2026-08-27T11:31:04+02:00"
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

Get lead #

GET /api/admin/26.0/leads/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "leads": [
        {
            "id": 1,
            "form_id": 402,
            "customer_id": 84920,
            "data": {
                "firstName": "Jane",
                "email": "[email protected]"
            },
            "created_at": "2026-08-27T11:31:04+02:00"
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

List customer leads #

GET /api/admin/26.0/customers/{id}/leads

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "leads": [
        {
            "id": 1,
            "form_id": 402,
            "customer_id": 84920,
            "data": {
                "firstName": "Jane",
                "email": "[email protected]"
            },
            "created_at": "2026-08-27T11:31:04+02:00"
        }
    ]
}

What's Next? #

Last modified: Aug 25, 2026