### Install laravel-typeform via Composer Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Install the package via Composer. ```bash composer require jeffersongoncalves/laravel-typeform ``` -------------------------------- ### Typeform facade workspace operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md List workspaces with pagination and search, and get a specific workspace. ```php Typeform::listWorkspaces(pageSize: 10, page: 1, search: null); Typeform::getWorkspace('workspaceId'); ``` -------------------------------- ### Typeform facade theme operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Manage themes: list, get, create (with font), and delete. ```php Typeform::listThemes(pageSize: 10, page: 1); Typeform::getTheme('themeId'); Typeform::createTheme('My Theme', font: 'Arial'); Typeform::deleteTheme('themeId'); ``` -------------------------------- ### Typeform facade image operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md List all images and get a specific image by ID. ```php Typeform::listImages(); Typeform::getImage('imageId'); ``` -------------------------------- ### Typeform facade webhook operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Manage webhooks: list, get, create (with enabled flag), and delete. ```php Typeform::listWebhooks('formId'); Typeform::getWebhook('formId', 'myTag'); Typeform::createWebhook('formId', 'myTag', 'https://example.com/hook', enabled: true); Typeform::deleteWebhook('formId', 'myTag'); ``` -------------------------------- ### Filter Typeform responses with listResponses Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Pass query parameters as an array to listResponses. The example sets page_size, since, and query for filtering responses. ```php Typeform::listResponses($formId, [ 'page_size' => 25, 'since' => '2026-01-01T00:00:00Z', 'query' => 'jane@example.com', ]); ``` -------------------------------- ### Typeform facade form operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Use the Typeform facade to manage forms: list, get, create, update, and delete. ```php use Jeffersongoncalves\Typeform\Facades\Typeform; Typeform::listForms(pageSize: 10, page: 1, workspaceId: null, search: null); Typeform::getForm('formId'); Typeform::createForm('My New Form', workspaceId: null); Typeform::updateForm('formId', ['title' => 'Updated Title']); Typeform::deleteForm('formId'); ``` -------------------------------- ### Use Typeform facade to get a form Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Resolves the Typeform singleton and sends a bearer-authenticated request via Laravel's Http facade. Returns an Illuminate\Http\Client\Response; check successful() before reading json(). ```php use Jeffersongoncalves\Typeform\Facades\Typeform; $response = Typeform::getForm('formId'); if ($response->successful()) { $form = $response->json(); } ``` -------------------------------- ### Run laravel-typeform tests Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Run the package test suite. ```bash composer test ``` -------------------------------- ### Typeform::createTheme Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Creates a new theme. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::createTheme ### Description Creates a new theme. ### Method POST ### Endpoint /themes ### Parameters #### Request Body - (object) - The theme data to create. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "new-theme-id" } ``` ``` -------------------------------- ### Publish laravel-typeform config Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Publish the package configuration file. ```bash php artisan vendor:publish --tag="laravel-typeform-config" ``` -------------------------------- ### Typeform::createWebhook Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Creates a webhook for a form. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::createWebhook ### Description Creates a webhook for a form. ### Method POST ### Endpoint /forms/{formId}/webhooks ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. #### Request Body - **tag** (string) - Required - The webhook tag. - **url** (string) - Required - The webhook URL. - **enabled** (bool) - Optional - Whether the webhook is enabled. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "tag": "my-app" } ``` ``` -------------------------------- ### Typeform::listThemes Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists themes. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listThemes ### Description Lists themes. ### Method GET ### Endpoint /themes ### Parameters #### Query Parameters - (none documented) ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Typeform::listWorkspaces Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists workspaces. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listWorkspaces ### Description Lists workspaces. ### Method GET ### Endpoint /workspaces ### Parameters #### Query Parameters - (none documented) ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Register a Typeform webhook with createWebhook Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Creates a webhook for a form using named arguments: tag, url, and enabled. The URL must be publicly accessible. ```php Typeform::createWebhook($formId, tag: 'my-app', url: 'https://example.com/hooks/typeform', enabled: true); ``` -------------------------------- ### Typeform::getTheme Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Retrieves a theme by ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::getTheme ### Description Retrieves a theme by ID. ### Method GET ### Endpoint /themes/{themeId} ### Parameters #### Path Parameters - **themeId** (string) - Required - The ID of the theme. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "theme-id" } ``` ``` -------------------------------- ### Set TYPEFORM_API_KEY in .env Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Add your Typeform personal access token to your .env file. ```text TYPEFORM_API_KEY=your-typeform-personal-access-token ``` -------------------------------- ### Typeform::createForm Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Creates a new form. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::createForm ### Description Creates a new form. ### Method POST ### Endpoint /forms ### Parameters #### Request Body - (object) - The form data to create. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "new-form-id" } ``` ``` -------------------------------- ### Check Typeform API key configuration Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Confirms the TYPEFORM_API_KEY is set and published by reading the config value. Used when troubleshooting 401 Unauthorized errors. ```php // Confirm the token is set and published config('typeform.api_key'); ``` -------------------------------- ### Typeform::listWebhooks Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists webhooks for a form. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listWebhooks ### Description Lists webhooks for a form. ### Method GET ### Endpoint /forms/{formId}/webhooks ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Typeform::getWebhook Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Retrieves a specific webhook by tag. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::getWebhook ### Description Retrieves a specific webhook by tag. ### Method GET ### Endpoint /forms/{formId}/webhooks/{tag} ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. - **tag** (string) - Required - The webhook tag. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "tag": "my-app" } ``` ``` -------------------------------- ### Typeform::listImages Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists images. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listImages ### Description Lists images. ### Method GET ### Endpoint /images ### Parameters #### Query Parameters - (none documented) ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Typeform facade response operations Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md List responses with pagination and a since filter, and delete specific responses. ```php Typeform::listResponses('formId', [ 'page_size' => 25, 'since' => '2026-01-01T00:00:00Z', ]); Typeform::deleteResponses('formId', ['responseId1', 'responseId2']); ``` -------------------------------- ### laravel-typeform config file Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/README.md Contents of the published config file. The api_key is read from the TYPEFORM_API_KEY environment variable, and base_url defaults to https://api.typeform.com. ```php return [ 'api_key' => env('TYPEFORM_API_KEY'), 'base_url' => env('TYPEFORM_BASE_URL', 'https://api.typeform.com'), ]; ``` -------------------------------- ### Typeform::listResponses Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists responses for a form with optional filters. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listResponses ### Description Lists responses for a form with optional filters. ### Method GET ### Endpoint /forms/{formId}/responses ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. #### Query Parameters - **page_size** (int) - Optional - Items per page - **since** (string) - Optional - Start date/time for filtering responses - **query** (string) - Optional - Search query for responses ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Typeform::listForms Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Lists forms with optional pagination, workspace filtering, and search. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::listForms ### Description Lists forms with optional pagination, workspace filtering, and search. ### Method GET ### Endpoint /forms ### Parameters #### Query Parameters - **$pageSize** (?int) - Optional - Items per page - **$page** (?int) - Optional - Page number - **$workspaceId** (?string) - Optional - Filter by workspace - **$search** (?string) - Optional - Search forms by title ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "items": [] } ``` ``` -------------------------------- ### Typeform::getWorkspace Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Retrieves a workspace by ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::getWorkspace ### Description Retrieves a workspace by ID. ### Method GET ### Endpoint /workspaces/{workspaceId} ### Parameters #### Path Parameters - **workspaceId** (string) - Required - The ID of the workspace. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "workspace-id" } ``` ``` -------------------------------- ### Typeform::getImage Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Retrieves an image by ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::getImage ### Description Retrieves an image by ID. ### Method GET ### Endpoint /images/{imageId} ### Parameters #### Path Parameters - **imageId** (string) - Required - The ID of the image. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "image-id" } ``` ``` -------------------------------- ### Typeform::getForm Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Retrieves a single form by its ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::getForm ### Description Retrieves a single form by its ID. ### Method GET ### Endpoint /forms/{formId} ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form to retrieve. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "abc123" } ``` ``` -------------------------------- ### Mock Typeform HTTP calls with Http::fake() Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Fakes the Typeform API endpoint and asserts the exact URL sent. Use this in tests to avoid real network calls. ```php use Illuminate\Support\Facades\Http; use Jeffersongoncalves\Typeform\Facades\Typeform; Http::fake(['api.typeform.com/forms/*' => Http::response(['id' => 'abc123'])]); $response = Typeform::getForm('abc123'); Http::assertSent(fn ($request) => $request->url() === 'https://api.typeform.com/forms/abc123'); ``` -------------------------------- ### Typeform::deleteTheme Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Deletes a theme by ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::deleteTheme ### Description Deletes a theme by ID. ### Method DELETE ### Endpoint /themes/{themeId} ### Parameters #### Path Parameters - **themeId** (string) - Required - The ID of the theme. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json {} ``` ``` -------------------------------- ### Typeform::updateForm Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Updates an existing form. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::updateForm ### Description Updates an existing form. ### Method PUT ### Endpoint /forms/{formId} ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form to update. #### Request Body - (object) - The form data to update. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json { "id": "abc123" } ``` ``` -------------------------------- ### Typeform::deleteWebhook Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Deletes a webhook by tag. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::deleteWebhook ### Description Deletes a webhook by tag. ### Method DELETE ### Endpoint /forms/{formId}/webhooks/{tag} ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. - **tag** (string) - Required - The webhook tag. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json {} ``` ``` -------------------------------- ### Typeform::deleteResponses Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Deletes responses for a form. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::deleteResponses ### Description Deletes responses for a form. ### Method DELETE ### Endpoint /forms/{formId}/responses ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json {} ``` ``` -------------------------------- ### Typeform::deleteForm Source: https://github.com/jeffersongoncalves/laravel-typeform/blob/main/resources/boost/skills/laravel-typeform-development/SKILL.md Deletes a form by its ID. Returns an Illuminate\Http\Client\Response. ```APIDOC ## Typeform::deleteForm ### Description Deletes a form by its ID. ### Method DELETE ### Endpoint /forms/{formId} ### Parameters #### Path Parameters - **formId** (string) - Required - The ID of the form to delete. ### Response #### Success Response (200) - **Illuminate\Http\Client\Response** - The response object from Laravel HTTP client. #### Response Example ```json {} ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.