### Get All Forms - OpenAPI Specification Source: https://www.fillout.com/help/api-reference/get-forms This OpenAPI 3.0.1 specification defines the GET /forms endpoint. It outlines the request method, path, authentication requirements, and the structure of the response, including the schema for FormSummary. ```yaml GET /forms openapi: 3.0.1 info: title: Fillout REST API description: A REST API for managing forms, submissions, and webhooks in Fillout version: 1.0.0 servers: - url: https://api.fillout.com/v1/api description: US server - url: https://eu-api.fillout.com/v1/api description: EU server security: - bearerAuth: [] paths: /forms: get: summary: Get all forms description: Returns a list of all your forms operationId: getForms responses: '200': description: List of forms content: application/json: schema: type: array items: $ref: '#/components/schemas/FormSummary' components: schemas: FormSummary: type: object properties: name: type: string description: The name of the form formId: type: string description: The public identifier of the form required: - name - formId securitySchemes: bearerAuth: type: http scheme: bearer description: >- Enter your [Fillout API key](https://build.fillout.com/home/settings/developer). Format: Bearer ``` -------------------------------- ### Style Next Button Source: https://www.fillout.com/help/custom-css Customize the appearance of the "Next" button in your form. This example shows how to make the button fully rounded. ```css // Make the “next” button rounded .fillout-field-button button { border-radius: 100px } ``` -------------------------------- ### Get All Forms Source: https://www.fillout.com/help/api-reference/get-forms This endpoint retrieves a list of all forms associated with your account. It returns a summary of each form, including its name and unique identifier. ```APIDOC ## GET /forms ### Description Returns a list of all your forms. ### Method GET ### Endpoint /forms ### Parameters #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **name** (string) - The name of the form - **formId** (string) - The public identifier of the form #### Response Example ```json [ { "name": "Customer Feedback Form", "formId": "form_abc123" }, { "name": "Contact Us", "formId": "form_xyz789" } ] ``` ``` -------------------------------- ### Authenticate REST API Requests Source: https://www.fillout.com/help/fillout-rest-api Provide your API key in the Authorization header for authentication. Replace with your actual API key. ```bash Authorization: Bearer ``` -------------------------------- ### Create a webhook Source: https://www.fillout.com/help/api-reference/create-a-webhook Creates a webhook for a given form. The webhook will receive submissions in the same format as the entries in the `responses` list from the `/submissions` endpoint. ```APIDOC ## POST /webhook/create ### Description Creates a webhook for a given form. ### Method POST ### Endpoint https://api.fillout.com/v1/api/webhook/create ### Request Body - **formId** (string) - Required - The public identifier of the form for which you want to create a webhook - **url** (string) - Required - The endpoint where you'd like to listen for submissions ### Request Example ```json { "formId": "your_form_id", "url": "https://your-webhook-url.com/path" } ``` ### Response #### Success Response (200) - **id** (integer) - The webhook ID ``` -------------------------------- ### Get Submission by ID Source: https://www.fillout.com/help/api-reference/get-submission-by-id Returns a single submission by its ID. ```APIDOC ## Get Submission by ID ### Description Returns a single submission by its ID. ### Method GET ### Endpoint `/submissions/{submissionId}` ### Parameters #### Path Parameters - **submissionId** (string) - Required - The unique identifier of the submission to retrieve. ### Response #### Success Response (200) - **submission** (object) - The submission object containing all details. #### Response Example ```json { "submission": { "id": "sub_abc123", "formId": "form_xyz789", "createdAt": "2023-10-27T10:00:00Z", "fields": [ { "id": "field_1", "name": "Email", "value": "test@example.com" } ], "metadata": { "userAgent": "Mozilla/5.0", "referer": "https://example.com" } } } ``` ``` -------------------------------- ### Authorization Request Source: https://www.fillout.com/help/oauth-applications Initiates the OAuth process by redirecting users to the Fillout authorization endpoint. Requires client ID, redirect URI, and a state parameter. ```APIDOC ## Authorization Request `GET https://build.fillout.com/authorize/oauth` ### Description Initiates the OAuth process by redirecting users to the Fillout authorization endpoint. Requires client ID, redirect URI, and a state parameter. ### Method GET ### Endpoint `https://build.fillout.com/authorize/oauth` ### Query Parameters - **client_id** (string) - Required - The client ID of your app. - **redirect_uri** (string) - Required - The URL to redirect to after authorization. - **state** (string) - Optional - A string to retain state during the redirect. ``` -------------------------------- ### Get All Submissions Source: https://www.fillout.com/help/api-reference/get-all-submissions Retrieves a list of all submissions for a given form. You can filter, sort, and paginate the results. ```APIDOC ## GET /forms/{formId}/submissions ### Description Returns a list of all submissions for a given form. ### Method GET ### Endpoint /forms/{formId}/submissions ### Parameters #### Path Parameters - **formId** (string) - Required - The public identifier of the form #### Query Parameters - **limit** (integer) - Optional - The maximum number of submissions to retrieve per request. Default: 50. Minimum: 1, Maximum: 150. - **afterDate** (string) - Optional - A date string to filter submissions submitted after this date. Format: date-time. - **beforeDate** (string) - Optional - A date string to filter submissions submitted before this date. Format: date-time. - **offset** (integer) - Optional - The starting position from which to fetch the submissions. Default: 0. - **status** (string) - Optional - Pass 'in_progress' to get unfinished submissions. By default, only 'finished' submissions are returned. Enum: finished, in_progress. - **includeEditLink** (boolean) - Optional - Pass true to include a link to edit the submission as 'editLink'. - **includePreview** (boolean) - Optional - Pass true to include preview responses. - **sort** (string) - Optional - Sort order for the submissions. Default: asc. Enum: asc, desc. - **search** (string) - Optional - Filter for submissions containing a string of text. ### Responses #### Success Response (200) - **responses** (array) - List of submissions. - **totalResponses** (integer) - Total number of submissions matching given parameters. - **pageCount** (integer) - Total number of pages of submissions based on provided limit. #### Response Example { "responses": [ { "submissionId": "sub_12345", "submissionTime": "2023-10-27T10:00:00Z", "lastUpdatedAt": "2023-10-27T10:05:00Z", "questions": [ { "questionId": "q_abcde", "label": "Your Name", "type": "short_text", "answer": "John Doe" } ], "calculations": [], "urlParameters": [], "scheduling": [], "payments": [], "quiz": null, "login": null } ], "totalResponses": 1, "pageCount": 1 } ``` -------------------------------- ### Style Field Captions Source: https://www.fillout.com/help/custom-css Customize the appearance of field captions. This example sets the caption text color to red. ```css // Change captions to red .fillout-caption p { color: red; } ``` -------------------------------- ### Embed Interactive Demo with Arcade Component Source: https://www.fillout.com/help/getting-started Use the Arcade component to embed interactive demos or forms. Configure the 'src' prop with a URL or a relative path. ```javascript export const Arcade = ({src}) => { const fullSrc = src.startsWith('http') ? src : `https://demo.arcade.software/${src}?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true`; return