Skip to main content
GET
/
api
/
v1
/
forms
/
list
List Forms
curl --request GET \
  --url https://api.example.com/api/v1/forms/list
{
  "forms": [
    {
      "id": "<string>",
      "name": "<string>",
      "description": "<string>",
      "submissionCount": 123,
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "nextCursor": "<string>",
  "error": "<string>"
}

Authentication

This endpoint requires API key authentication. Provide your API key in one of two ways:
  • Recommended: X-API-Key header
  • Fallback: apiKey query parameter

Query Parameters

limit
number
default:"50"
Number of forms to return per page. Must be between 1 and 100.
cursor
string
Pagination cursor for fetching the next page of results. Use the nextCursor value from the previous response.
apiKey
string
API key for authentication (fallback method). Prefer using the X-API-Key header instead.

Response

forms
array
Array of form objects
nextCursor
string
Cursor for the next page of results. If undefined, there are no more results.

Rate Limiting

This endpoint is rate-limited per API key. Rate limit information is returned in the response headers:
  • X-RateLimit-Limit: Maximum number of requests allowed
  • X-RateLimit-Remaining: Number of requests remaining in the current window
  • X-RateLimit-Reset: Unix timestamp when the rate limit resets

Error Responses

error
string
Error message describing what went wrong

Status Codes

  • 400 - Bad Request: Invalid parameters (e.g., limit out of range)
  • 401 - Unauthorized: Invalid or inactive API key
  • 404 - Not Found: User not found
  • 429 - Too Many Requests: Rate limit exceeded
  • 500 - Internal Server Error
curl -X GET "https://api.mantlz.app/api/v1/forms/list?limit=10" \
  -H "X-API-Key: your_api_key_here"

Example Response

{
  "forms": [
    {
      "id": "clx1234567890abcdef",
      "name": "Contact Form",
      "description": "Main contact form for the website",
      "submissionCount": 42,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-03-01T14:22:00.000Z"
    },
    {
      "id": "clx0987654321fedcba",
      "name": "Newsletter Signup",
      "description": "Email newsletter subscription form",
      "submissionCount": 156,
      "createdAt": "2024-01-10T08:15:00.000Z",
      "updatedAt": "2024-02-28T16:45:00.000Z"
    }
  ],
  "nextCursor": "clx0987654321fedcba"
}

Pagination

The list endpoint uses cursor-based pagination:
  1. Make an initial request with your desired limit
  2. Check the nextCursor field in the response
  3. If nextCursor is present, make another request including it as the cursor parameter
  4. Repeat until nextCursor is undefined
Forms are returned in descending order by creation date (newest first).

Build docs developers (and LLMs) love