### Download file example Source: https://learn.sweego.io/docs/sftp/how_to_use_sftp An example of downloading a specific remote file to a local path using the get command. ```bash sftp> get documents/remotefile.txt /path/to/localfile.txt ``` -------------------------------- ### Full domain setup with DNS records Source: https://learn.sweego.io/docs/integrations/terraform Example demonstrating how to create a Sweego domain and provision the required DNS records using the inwx provider. Note that the name attribute returned by the provider does not include the root domain, so it may need to be appended manually. ```hcl resource "sweego_domain" "example" { domain = "mail.yourdomain.com" } # Verification CNAME resource "inwx_nameserver_record" "sweego_domain_record" { domain = "yourdomain.com" type = resource.sweego_domain.example.domain_record.type name = "${resource.sweego_domain.example.domain_record.name}.yourdomain.com" content = resource.sweego_domain.example.domain_record.data } # DKIM TXT record resource "inwx_nameserver_record" "sweego_dkim" { domain = "yourdomain.com" type = resource.sweego_domain.example.dkim_record.type name = "${resource.sweego_domain.example.dkim_record.name}.yourdomain.com" content = resource.sweego_domain.example.dkim_record.data } # DMARC TXT record resource "inwx_nameserver_record" "sweego_dmarc" { domain = "yourdomain.com" type = resource.sweego_domain.example.dmarc_record.type name = "${resource.sweego_domain.example.dmarc_record.name}.yourdomain.com" content = resource.sweego_domain.example.dmarc_record.data } ``` -------------------------------- ### Connect to SFTP server example Source: https://learn.sweego.io/docs/sftp/how_to_use_sftp An example of the sftp command using a specific port and user credentials. ```bash sftp -P 2222 john@example.com ``` -------------------------------- ### Install @zapal/payload-email-sweego Source: https://learn.sweego.io/docs/integrations/payload-cms Install the adapter package using pnpm in your Payload project. ```bash pnpm add @zapal/payload-email-sweego ``` -------------------------------- ### Install Sweego component Source: https://learn.sweego.io/docs/integrations/convex Install the required npm package for the Sweego Convex component. ```bash npm install @christian-ek/sweego ``` -------------------------------- ### Install sendr and sendr_sweego Source: https://learn.sweego.io/docs/integrations/sendr-gleam Adds both the core sendr library and the Sweego backend to a Gleam project. ```sh gleam add sendr sendr_sweego ``` -------------------------------- ### Install Symfony Mailer Source: https://learn.sweego.io/docs/integrations/symfony-mailer Install the required Symfony Mailer component via Composer. ```bash composer require symfony/mailer ``` -------------------------------- ### Install Sweego Notifier Bridge Source: https://learn.sweego.io/docs/integrations/symfony-mailer Install the necessary Symfony Notifier and Sweego bridge components via Composer. ```bash composer require symfony/notifier symfony/sweego-notifier ``` -------------------------------- ### Download file using get command Source: https://learn.sweego.io/docs/sftp/how_to_use_sftp Use the get command within the sftp prompt to transfer a file from the remote server to a local destination. ```bash sftp> get remotefile.txt localfile.txt ``` -------------------------------- ### Send email with unique Reply-To in C# Source: https://learn.sweego.io/docs/inbound/conversational_flow C# example using HttpClient to POST to the Sweego email send endpoint. Generates a unique Reply-To address using a GUID and includes it in the JSON payload. Requires an API key and Newtonsoft.Json. ```csharp using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; class Program { static async Task Main() { var url = "https://api.sweego.io/v1/email/send"; // Generate unique Reply-To var uniqueId = Guid.NewGuid().ToString(); var replyToEmail = $"transaction-{uniqueId}@yourdomain.com"; var payload = new { to = new[] { new { email = "customer@example.com", name = "John Doe" } }, from = new { email = "support@yourdomain.com", name = "Support" }, replyTo = new[] { new { email = replyToEmail } }, subject = "Order confirmation", html = "

Hello,

Your order has been confirmed.

" }; using var client = new HttpClient(); client.DefaultRequestHeaders.Add("Api-Key", ""); var json = JsonConvert.SerializeObject(payload); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); var result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); } } ``` -------------------------------- ### Format for one-click method Source: https://learn.sweego.io/docs/emails/headers/list_unsub The expected format for the one-click method, including an example and the resulting headers. ```text , ``` ```json { "list-unsub": { "method": "one-click", "value": "," } } ``` ```text List-Unsubscribe: , List-Unsubscribe-Post: List-Unsubscribe=One-Click ``` -------------------------------- ### Configure Dedicated Subdomain Source: https://learn.sweego.io/docs/inbound/conversational_flow Example of a reply-to subdomain configuration for inbound email routing. ```text reply-to.yourdomain.com ``` -------------------------------- ### Send SMS with Go Source: https://learn.sweego.io/docs/sending/how_to_send_sms_by_api This Go example demonstrates how to construct a JSON payload and send a POST request using the net/http package. ```go package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "time" ) func main() { payload := map[string]interface{}{ "channel": "sms", "provider": "sweego", "campaign-type": "transac", "sender-id": "", "recipients": []map[string]string{ {"num": "", "region": "FR"}, }, "template-id": "", "variables": map[string]string{ "name": "Alice", }, } jsonData, err := json.Marshal(payload) if err != nil { fmt.Printf("Error: %v\n", err) return } req, _ := http.NewRequest("POST", "https://api.sweego.io/send", bytes.NewBuffer(jsonData)) req.Header.Set("Content-Type", "application/json") req.Header.Set("Api-Key", "") client := &http.Client{Timeout: 10 * time.Second} resp, err := client.Do(req) if err != nil { fmt.Printf("Error: %v\n", err) return } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Printf("Status Code: %d\nResponse: %s\n", resp.StatusCode, string(body)) } ``` -------------------------------- ### SMTP Custom Headers Source: https://learn.sweego.io/docs/emails/headers/custom_headers Example of adding custom X- headers via SMTP. ```text X-Ref-1: 643524 X-Ref-2: lervcn X-Ref-3: o10icr ``` -------------------------------- ### Send SMS with TFN using Go Source: https://learn.sweego.io/docs/sms/us_canada_and_nanp_countries Example of sending an SMS message using Go's net/http package. ```go package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" ) func main() { url := "https://api.sweego.io/send" payload := map[string]interface{}{ "channel": "sms", "provider": "sweego", "recipients": []map[string]string{ {"num": "+1234567890", "region": "US"}, }, "message-txt": "Your message content", "campaign-type": "transac", "sender-id": "YOUR_TFN", } jsonData, _ := json.Marshal(payload) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) req.Header.Set("Api-Key", "") req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) } ``` -------------------------------- ### API Custom Headers Source: https://learn.sweego.io/docs/emails/headers/custom_headers Example of adding custom headers via the API, omitting the X- prefix. ```json { "headers": { "Ref-1": "643524", "Ref-2": "lervcn", "Ref-3": "o10icr" } } ``` -------------------------------- ### Authenticate API requests with cURL Source: https://learn.sweego.io/docs/auth/api_keys Example of how to include the Api-Key in the authorization header when making a request to the Sweego API. ```shell curl -L 'https://api.sweego.io/' \ -H 'Content-Type: application/json' \ -H 'Api-Key: ' \ -d '{ "data_1": "hello", "data_2": "bye" }' ``` -------------------------------- ### Send SMS with TFN using PHP Source: https://learn.sweego.io/docs/sms/us_canada_and_nanp_countries Example of sending an SMS message using PHP's file_get_contents and stream context. ```php 'sms', 'provider' => 'sweego', 'recipients' => [ ['num' => '+1234567890', 'region' => 'US'] ], 'message-txt' => 'Your message content', 'campaign-type' => 'transac', 'sender-id' => 'YOUR_TFN' ]; $options = [ 'http' => [ 'header' => [ 'Api-Key: ', 'Content-Type: application/json' ], 'method' => 'POST', 'content' => json_encode($data) ] ]; $context = stream_context_create($options); $response = file_get_contents($url, false, $context); echo $response; ?> ``` -------------------------------- ### Generate Unique Identifier in C# Source: https://learn.sweego.io/docs/inbound/conversational_flow Examples of creating a unique Reply-To address using GUIDs or base64 encoded transaction IDs in C#. ```csharp using System; using System.Text; // Example with UUID string uniqueId = Guid.NewGuid().ToString(); string replyTo = $"transaction-{uniqueId}@yourdomain.com"; // Example with encoded ID int transactionId = 12345; string encodedId = Convert.ToBase64String(Encoding.UTF8.GetBytes(transactionId.ToString())) .Replace("+", "-").Replace("/", "_").TrimEnd('='); string replyTo = $"tx-{encodedId}@yourdomain.com"; ``` -------------------------------- ### Initialize Terraform Source: https://learn.sweego.io/docs/integrations/terraform Run this command after declaring the provider to download and initialize the Sweego provider plugin. ```bash terraform init ``` -------------------------------- ### Full Example: Input HTML and Delivered HTML Source: https://learn.sweego.io/docs/tracking/email_tracking Shows the input HTML passed to Sweego (sending domain: send.example.com) and the delivered HTML with rewritten links and an injected tracking pixel. The tracking domain is t.send.example.com, and the unsubscribe link uses /t/u/. ```html

Hi,

This is my new message with Sweego.

More details: our website

Unsubscribe ``` ```html

Hi,

This is my new message with Sweego.

More details: our website

Unsubscribe ``` -------------------------------- ### Connect to SFTP server via command line Source: https://learn.sweego.io/docs/sftp/how_to_use_sftp Use the sftp command with the specified port, username, and hostname to initiate a connection. ```bash sftp -P port username@hostname ``` -------------------------------- ### Initialize the client Source: https://learn.sweego.io/docs/integrations/convex Create a Sweego instance in convex/sweego.ts to use within your Convex functions. ```typescript import { components } from "./_generated/api"; import { Sweego } from "@christian-ek/sweego"; export const sweego = new Sweego(components.sweego, {}); ``` -------------------------------- ### Inbound Email Webhook Payload Example Source: https://learn.sweego.io/docs/inbound/setup_inbound Example JSON payload sent to your webhook URL when an inbound email is received. Contains event metadata, sender, recipients, message content, and attachment metadata. Attachments are not included; use the attachment UUID to fetch content via the Sweego API. ```json { "event_type": "email_inbound", "timestamp": "2024-12-19T13:49:28.849638+00:00", "swg_uid": "04-601790a1-5fd4-4106-8e5a-469ec1af1c93", "from_": { "email": "my@mailaddress.com", "name": "My Name" }, "to": [ { "email": "anything@myinbound.mydomain.com", "name": "" } ], "cc": [], "text": "Receiv", "html": null, "subject": "test", "inbound_domain": "myinbound.mydomain.com", "attachments": [ { "uuid": "02b8f2b6-b491-4450-9231-c3912ab28850", "name": "random.pdf", "content_type": "application/pdf", "size": 38408 }, { "uuid": "5dcd1ef8-abbd-4f77-b60d-6984aa404b51", "name": "screenshot.jpg", "content_type": "image/jpeg", "size": 19458 }, ], "event_id": "10c072f1-7821-4f30-9574-f13e3890701a", "channel": "email", "transaction_id": null } ``` -------------------------------- ### Bulk send with per-recipient variables using Go Source: https://learn.sweego.io/docs/sending/how_to_send_email_by_api This Go example demonstrates how to construct a JSON payload and send a POST request to the Sweego API using the net/http package. ```go package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "time" ) func main() { payload := map[string]interface{}{ "template-id": "", "channel": "email", "provider": "sweego", "recipients": []map[string]interface{}{ { "email": "", "name": "Alice", "variables": map[string]string{ "name": "Alice", "custom_field": "value_for_alice", }, }, { "email": "", "name": "Bob", "variables": map[string]string{ "name": "Bob", "custom_field": "value_for_bob", }, }, }, "from": map[string]string{ "name": "Your name", "email": "", }, "subject": "Email subject", } jsonData, _ := json.Marshal(payload) req, _ := http.NewRequest("POST", "https://api.sweego.io/send/bulk/email", bytes.NewBuffer(jsonData)) req.Header.Set("Content-Type", "application/json") req.Header.Set("Api-Key", "") client := &http.Client{Timeout: 10 * time.Second} resp, _ := client.Do(req) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Printf("Status: %d\nResponse: %s\n", resp.StatusCode, string(body)) } ``` -------------------------------- ### Set environment variables Source: https://learn.sweego.io/docs/integrations/convex Configure your Sweego API key and webhook secret in your Convex deployment using the Convex CLI. ```bash npx convex env set SWEEGO_API_KEY swg_xxxxxxxx npx convex env set SWEEGO_WEBHOOK_SECRET ``` -------------------------------- ### Send SMS with PHP Source: https://learn.sweego.io/docs/sending/how_to_send_sms_by_api This PHP example uses the cURL extension to send the SMS request. ```php 'sms', 'provider' => 'sweego', 'campaign-type' => 'transac', 'sender-id' => '', 'recipients' => [ ['num' => '', 'region' => 'FR'] ], 'template-id' => '', 'variables' => [ 'name' => 'Alice' ] ]; $ch = curl_init('https://api.sweego.io/send'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Api-Key: ', 'Content-Type: application/json' ]); $response = curl_exec($ch); $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo "Status: $statusCode\n"; echo "Response: $response\n"; ?> ``` -------------------------------- ### Import an existing domain with terraform import Source: https://learn.sweego.io/docs/integrations/terraform Use this command to bring an existing Sweego domain under Terraform management by specifying the resource name and its UUID. ```bash terraform import sweego_domain.example 3923bb62-f1e2-4362-ad1f-1af9f54d10f0 ``` -------------------------------- ### Send SMS with Node.js Source: https://learn.sweego.io/docs/sending/how_to_send_sms_by_api This Node.js example uses the node-fetch library to perform the POST request. ```javascript const fetch = require('node-fetch'); const payload = { channel: "sms", provider: "sweego", "campaign-type": "transac", "sender-id": "", recipients: [{ num: "", region: "FR" }], "template-id": "", variables: { name: "Alice" } }; fetch('https://api.sweego.io/send', { method: 'POST', headers: { 'Api-Key': '', 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err)); ``` -------------------------------- ### Configure Sweego DSN in .env Source: https://learn.sweego.io/docs/integrations/symfony-mailer Add the Sweego DSN to your .env file to enable the transport. ```text MAILER_DSN=sweego://YOUR_API_KEY@default ``` -------------------------------- ### Open Tracking Webhook Payload Source: https://learn.sweego.io/docs/webhooks/payload Payload format for the email_opened webhook event, including all fields and an example. ```APIDOC ## Open Tracking Webhook Payload ### Description This webhook event is triggered when an email is opened, either by a human or a proxy. The payload contains tracking information including the IP address, user agent, and proxy status. ### Event Type email_opened ### Payload Fields - **event_type** (string) - The type of event, always "email_opened". - **timestamp** (timestamp) - The time the event occurred. - **swg_uid** (string) - The Sweego user identifier. - **event_id** (UUID) - Unique identifier for the event. - **channel** (string) - The channel through which the event was sent (e.g., "email"). - **transaction_id** (UUID) - Unique identifier for the transaction. - **headers** (object) - Contains email headers, including: - **x-mailer** (string) - The mailer used. - **x-swg-uid** (string) - The Sweego user identifier. - **x-campaign-id** (string) - The campaign identifier. - **x-client-id** (string) - The client identifier. - **x-originating-ip** (string) - The originating IP address. - **x-campaign-type** (string) - The campaign type. - **x-custom-header** (string|int) - Custom header value. - **x-transaction-id** (UUID) - The transaction identifier. - **campaign_tags** (string|null) - Tags associated with the campaign, or null. - **campaign_type** (string) - The type of campaign. - **campaign_id** (string) - The campaign identifier. - **recipient** (string) - The email address of the recipient. - **domain_from** (string) - The domain from which the email was sent. - **subject** (string) - The subject line of the email. - **open** (object) - Contains open details: - **ip_address** (string) - The IP address of the open. - **user_agent** (string) - The user agent of the open. - **proxy** (bool) - Whether the open was via a proxy. ### Example Payload ```json { "event_type": "email_opened", "timestamp": "2024-01-01T00:00:00", "swg_uid": "02-6e5dbe48-e6f4-4af3-8fb4-bf125e75776b", "event_id": "3e434a94-628c-4cbd-92b5-ed6be715aa2c", "channel": "email", "transaction_id": "568c5678-2d03-40f8-89e0-22ffb5cfe63d", "headers": { "x-mailer": "Sweego", "x-swg-uid": "02-6e5dbe48-e6f4-4af3-8fb4-bf125e75776b", "x-client-id": "f8367456332593298d050cf4bc83e0ab", "x-client-ip": "XXX.XXX.XXX.XXX", "x-campaign-id": "fake_campaign", "x-campaign-type": "default", "x-originating-ip": "XXX.XXX.XXX.XXX", "x-transaction-id": "568c5678-2d03-40f8-89e0-22ffb5cfe63d" }, "campaign_tags": null, "campaign_type": "default", "campaign_id": "fake_campaign", "recipient": "XXXX@XXXXX.com", "domain_from": "my_domain.from", "subject": "Test webhook", "open": { "ip_address": "XXX.XXX.XXX.XXX", "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)", "proxy": true } } ``` ``` -------------------------------- ### Click Tracking Webhook Payload Source: https://learn.sweego.io/docs/webhooks/payload Payload format for the email_clicked webhook event, including all fields and an example. ```APIDOC ## Click Tracking Webhook Payload ### Description This webhook event is triggered when a recipient clicks a link in an email. The payload contains tracking information including the clicked URL, IP address, user agent, and proxy status. ### Event Type email_clicked ### Payload Fields - **event_type** (string) - The type of event, always "email_clicked". - **timestamp** (timestamp) - The time the event occurred. - **swg_uid** (string) - The Sweego user identifier. - **event_id** (UUID) - Unique identifier for the event. - **channel** (string) - The channel through which the event was sent (e.g., "email"). - **transaction_id** (UUID) - Unique identifier for the transaction. - **headers** (object) - Contains email headers, including: - **x-mailer** (string) - The mailer used. - **x-swg-uid** (string) - The Sweego user identifier. - **x-campaign-id** (string) - The campaign identifier. - **x-client-id** (string) - The client identifier. - **x-originating-ip** (string) - The originating IP address. - **x-campaign-type** (string) - The campaign type. - **x-custom-header** (string|int) - Custom header value. - **x-transaction-id** (UUID) - The transaction identifier. - **campaign_tags** (string|null) - Tags associated with the campaign, or null. - **campaign_type** (string) - The type of campaign. - **campaign_id** (string) - The campaign identifier. - **recipient** (string) - The email address of the recipient. - **domain_from** (string) - The domain from which the email was sent. - **subject** (string) - The subject line of the email. - **click** (object) - Contains click details: - **ip_address** (string) - The IP address of the click. - **url** (string) - The URL that was clicked. - **user_agent** (string) - The user agent of the click. - **proxy** (bool) - Whether the click was via a proxy. ### Example Payload ```json { "event_type": "email_clicked", "timestamp": "2024-12-10T17:35:39", "swg_uid": "02-6e5dbe48-e6f4-4af3-8fb4-bf125e75776b", "event_id": "3e434a94-628c-4cbd-92b5-ed6be715aa2c", "channel": "email", "transaction_id": "568c5678-2d03-40f8-89e0-22ffb5cfe63d", "headers": { "x-mailer": "Sweego", "x-swg-uid": "02-6e5dbe48-e6f4-4af3-8fb4-bf125e75776b", "x-client-id": "f8367456332369298d050cf4bc83e058", "x-client-ip": "XXX.XXX.XXX.XXX", "x-campaign-id": "fake_campaign", "x-campaign-type": "default", "x-originating-ip": "XXX.XXX.XXX.XXX", "x-transaction-id": "568c5678-2d03-40f8-89e0-22ffb5cfe63d" }, "campaign_tags": null, "campaign_type": "default", "campaign_id": "fake_campaign", "recipient": "random@domain.com", "domain_from": "my.domain.from", "subject": "Test webhook 2024-01-01", "click": { "ip_address": "XXX.XXX.XXX.XXX", "url": "https://google.com", "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)", "proxy": false } } ``` ``` -------------------------------- ### Create a sweego_domain resource Source: https://learn.sweego.io/docs/integrations/terraform Basic configuration to create and manage a domain in your Sweego account. ```hcl resource "sweego_domain" "example" { domain = "mail.yourdomain.com" } ``` -------------------------------- ### Send SMS with Ruby Source: https://learn.sweego.io/docs/sending/how_to_send_sms_by_api This Ruby example uses the Net::HTTP library to send the SMS request. ```ruby require 'net/http' require 'json' require 'uri' payload = { channel: 'sms', provider: 'sweego', 'campaign-type': 'transac', 'sender-id': '', recipients: [ { num: '', region: 'FR' } ], 'template-id': '', variables: { name: 'Alice' } } uri = URI('https://api.sweego.io/send') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.path, { 'Api-Key' => '', 'Content-Type' => 'application/json' }) request.body = payload.to_json response = http.request(request) puts "Status: #{response.code}" puts "Response: #{response.body}" ``` -------------------------------- ### Retrieve message status via cURL Source: https://learn.sweego.io/docs/logs/email/sending Example command to poll the status of a message using its swg_uid. ```shell curl -L 'https://api.sweego.io/logs/' \ -H 'Api-Key: ' ``` -------------------------------- ### Format for mailto method Source: https://learn.sweego.io/docs/emails/headers/list_unsub The expected format for the mailto method, including an example with optional query parameters. ```text ``` ```json { "list-unsub": { "method": "mailto", "value": "" } } ``` -------------------------------- ### Configure Sweego DSN Source: https://learn.sweego.io/docs/integrations/symfony-mailer Add the Sweego DSN to your .env file using your API key. ```text SWEEGO_DSN=sweego://YOUR_API_KEY@default ``` -------------------------------- ### HTML template example for import Source: https://learn.sweego.io/docs/templates/create A complete HTML email template that can be copied and pasted into the Sweego HTML import field. It includes a basic structure with a container, heading, paragraph, and footer, styled with inline CSS. ```html Template

Hello, World!

This is a sample HTML template.

You can customize it according to your needs.

``` -------------------------------- ### Send SMS with TFN using Node.js Source: https://learn.sweego.io/docs/sms/us_canada_and_nanp_countries Example of sending an SMS message using the Node.js https module. ```javascript const https = require('https'); const data = JSON.stringify({ channel: 'sms', provider: 'sweego', recipients: [ { num: '+1234567890', region: 'US' } ], 'message-txt': 'Your message content', 'campaign-type': 'transac', 'sender-id': 'YOUR_TFN' }); const options = { hostname: 'api.sweego.io', path: '/send', method: 'POST', headers: { 'Api-Key': '', 'Content-Type': 'application/json', 'Content-Length': data.length } }; const req = https.request(options, (res) => { let body = ''; res.on('data', (chunk) => body += chunk); res.on('end', () => console.log(body)); }); req.on('error', (error) => console.error(error)); req.write(data); req.end(); ``` -------------------------------- ### Configure Sweego Provider with Variables Source: https://learn.sweego.io/docs/integrations/terraform Use Terraform variables to securely pass your Sweego credentials instead of hardcoding them in your configuration files. ```hcl provider "sweego" { api_key = var.sweego_api_key client_id = var.sweego_client_id } ```