Files
2026-04-11 09:45:12 -05:00

175 lines
3.0 KiB
Markdown

# Tally Routing Reference
**App name:** `tally`
**Base URL proxied:** `api.tally.so`
## API Path Pattern
```
/tally/{resource}
```
Tally's API does not use version prefixes in paths.
## Required Headers
THe `User-Agent` header is required to avoid Cloudflare blocks:
```
User-Agent: Maton/1.0
```
## Common Endpoints
### Get Current User
```bash
GET /tally/users/me
```
### List Forms
```bash
GET /tally/forms
```
**Query Parameters:**
- `page` - Page number (default: 1)
- `limit` - Items per page (default: 50)
### Get Form
```bash
GET /tally/forms/{formId}
```
### Create Form
```bash
POST /tally/forms
Content-Type: application/json
{
"status": "DRAFT",
"blocks": [
{
"type": "FORM_TITLE",
"uuid": "11111111-1111-1111-1111-111111111111",
"groupUuid": "22222222-2222-2222-2222-222222222222",
"groupType": "FORM_TITLE",
"title": "My Form",
"payload": {}
},
{
"type": "INPUT_TEXT",
"uuid": "33333333-3333-3333-3333-333333333333",
"groupUuid": "44444444-4444-4444-4444-444444444444",
"groupType": "INPUT_TEXT",
"title": "Your name",
"payload": {}
}
]
}
```
### Update Form
```bash
PATCH /tally/forms/{formId}
Content-Type: application/json
{
"name": "Updated Form Name",
"status": "PUBLISHED"
}
```
### Delete Form
```bash
DELETE /tally/forms/{formId}
```
### List Form Questions
```bash
GET /tally/forms/{formId}/questions
```
### List Form Submissions
```bash
GET /tally/forms/{formId}/submissions
```
**Query Parameters:**
- `page` - Page number
- `limit` - Items per page
- `startDate` - Filter by start date (ISO 8601)
- `endDate` - Filter by end date (ISO 8601)
- `afterId` - Cursor for pagination
### Get Submission
```bash
GET /tally/forms/{formId}/submissions/{submissionId}
```
### Delete Submission
```bash
DELETE /tally/forms/{formId}/submissions/{submissionId}
```
### List Workspaces
```bash
GET /tally/workspaces
```
### Get Workspace
```bash
GET /tally/workspaces/{workspaceId}
```
### Create Workspace
```bash
POST /tally/workspaces
Content-Type: application/json
{
"name": "New Workspace"
}
```
### List Organization Users
```bash
GET /tally/organizations/{organizationId}/users
```
### List Organization Invites
```bash
GET /tally/organizations/{organizationId}/invites
```
### List Webhooks
```bash
GET /tally/webhooks
```
### Create Webhook
```bash
POST /tally/webhooks
Content-Type: application/json
{
"formId": "GxdRaQ",
"url": "https://your-endpoint.com/webhook",
"eventTypes": ["FORM_RESPONSE"]
}
```
## Notes
- Form and workspace IDs are short alphanumeric strings (e.g., `GxdRaQ`, `3jW9Q1`)
- Block `uuid` and `groupUuid` fields must be valid UUIDs (GUIDs)
- Page-based pagination with `page` and `limit` parameters
- Rate limit: 100 requests per minute
- API is in public beta and subject to changes
- Creating workspaces requires a Pro subscription
## Resources
- [Tally API Introduction](https://developers.tally.so/api-reference/introduction)
- [Tally API Reference](https://developers.tally.so/llms.txt)
- [Tally Help Center](https://help.tally.so/)