> ## Documentation Index
> Fetch the complete documentation index at: https://widgetic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# widgetic api partners

> 41 commands for the Partners operations of the REST API, generated from its OpenAPI description.

`widgetic api partners <command>` runs the Partners operations of the REST API. It has 41 commands. Every command also takes [the flags every command takes](https://widgetic.com/docs/cli/commands/index.md).

## `widgetic api partners confirm-partner-adapter-connection`

Confirm a partner's adapter address with the code that was emailed to it

* Request: `POST /partners/{partnerId}/adapter-connections/{adapterId}/{credentialKey}/confirm`
* Operation: `confirmPartnerAdapterConnection` (`widgetic api call confirmPartnerAdapterConnection` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner that keeps the address |
| `--adapter-id <text>` | text | yes | The adapter the address is for |
| `--credential-key <text>` | text | yes | The credential's name within the adapter |
| `--code <text>` | text | | The digits of the code Widgetic emailed to the address, with nothing else. It works for 30 minutes and for five wrong tries; after that, save the address again and a new code is emailed |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners confirm-partner-adapter-connection`.

## `widgetic api partners create-partner-extra-credits-invoice`

Buy extra credits for a partner

* Request: `POST /partners/{partnerId}/credits/extra-invoice`
* Operation: `createPartnerExtraCreditsInvoice` (`widgetic api call createPartnerExtraCreditsInvoice` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | Partner ID |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |
| `--usd <number>` | number | | The dollars to spend on credits, to the cent: at least 10, at most 100000 in one request. The invoice is for the most whole credits that money buys at the list price of a credit, so it is never for more than this (12.34… |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners create-partner-extra-credits-invoice`.

## `widgetic api partners get-my-partners`

Find the partner you administer

* Request: `GET /partners/mine`
* Operation: `getMyPartners` (`widgetic api call getMyPartners` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

This command takes only the flags every command takes.

The whole description and the schemas: `widgetic schema api partners get-my-partners`.

## `widgetic api partners get-partner-adapter-connections`

See which adapter keys a partner has connected

* Request: `GET /partners/{partnerId}/adapter-connections`
* Operation: `getPartnerAdapterConnections` (`widgetic api call getPartnerAdapterConnections` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose adapter keys to list |

The whole description and the schemas: `widgetic schema api partners get-partner-adapter-connections`.

## `widgetic api partners get-partner-analytics-by-managed-user`

What each managed user's widgets did

* Request: `GET /partners/{partnerId}/analytics/managed-users`
* Operation: `getPartnerAnalyticsByManagedUser` (`widgetic api call getPartnerAnalyticsByManagedUser` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose managed users to report on |
| `--start-date <text>` | text | | Start of the period, included. An ISO 8601 date (`2026-10-01`) or date-time with its offset. Default 30 days before `endDate`. |
| `--end-date <text>` | text | | End of the period, not included, in the same forms. Default now. At most 366 days after `startDate`. |
| `--limit <int>` | integer | | How many managed users to list at most (default: 50) |
| `--offset <int>` | integer | | How many managed users to skip (default: 0) |

The whole description and the schemas: `widgetic schema api partners get-partner-analytics-by-managed-user`.

## `widgetic api partners get-partner-analytics-summary`

What was done with a partner's published widgets

* Request: `GET /partners/{partnerId}/analytics/summary`
* Operation: `getPartnerAnalyticsSummary` (`widgetic api call getPartnerAnalyticsSummary` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose widgets to report on |
| `--start-date <text>` | text | | Start of the period, included. An ISO 8601 date (`2026-10-01`) or date-time with its offset (`2026-10-01T08:00:00Z`). Default 30 days before `endDate`. |
| `--end-date <text>` | text | | End of the period, not included, in the same forms. Default now. It must be after `startDate`, by at most 366 days. |
| `--managed-user-id <uuid>` | uuid | | Report only on this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both. |
| `--managed-user-external-id <text>` | text | | Report only on the managed user you registered with this `externalId` (your own identifier for the user). Send this or `managedUserId`, not both. |

The whole description and the schemas: `widgetic schema api partners get-partner-analytics-summary`.

## `widgetic api partners get-partner-analytics-timeline`

What was done with a partner's widgets, day by day

* Request: `GET /partners/{partnerId}/analytics/timeline`
* Operation: `getPartnerAnalyticsTimeline` (`widgetic api call getPartnerAnalyticsTimeline` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose widgets to report on |
| `--start-date <text>` | text | | Start of the period, included. An ISO 8601 date (`2026-10-01`) or date-time with its offset. Default 30 days before `endDate`. |
| `--end-date <text>` | text | | End of the period, not included, in the same forms. Default now. At most 366 days after `startDate`. |
| `--managed-user-id <uuid>` | uuid | | Report only on this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both. |
| `--managed-user-external-id <text>` | text | | Report only on the managed user you registered with this `externalId`. Send this or `managedUserId`, not both. |

The whole description and the schemas: `widgetic schema api partners get-partner-analytics-timeline`.

## `widgetic api partners get-partner-analytics-top-widgets`

Which widgets were viewed the most

* Request: `GET /partners/{partnerId}/analytics/top-widgets`
* Operation: `getPartnerAnalyticsTopWidgets` (`widgetic api call getPartnerAnalyticsTopWidgets` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose widgets to report on |
| `--start-date <text>` | text | | Start of the period, included. An ISO 8601 date (`2026-10-01`) or date-time with its offset. Default 30 days before `endDate`. |
| `--end-date <text>` | text | | End of the period, not included, in the same forms. Default now. At most 366 days after `startDate`. |
| `--managed-user-id <uuid>` | uuid | | Report only on this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both. |
| `--managed-user-external-id <text>` | text | | Report only on the managed user you registered with this `externalId`. Send this or `managedUserId`, not both. |
| `--limit <int>` | integer | | How many widgets to list at most (default: 10) |

The whole description and the schemas: `widgetic schema api partners get-partner-analytics-top-widgets`.

## `widgetic api partners get-partner-billing-overview`

Get comprehensive partner billing overview

* Request: `GET /partners/{partnerId}/billing-overview`
* Operation: `getPartnerBillingOverview` (`widgetic api call getPartnerBillingOverview` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | Partner ID |

The whole description and the schemas: `widgetic schema api partners get-partner-billing-overview`.

## `widgetic api partners get-partner-contract`

Get a partner's contract

* Request: `GET /partners/{partnerId}/contract`
* Operation: `getPartnerContract` (`widgetic api call getPartnerContract` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose contract to read |

The whole description and the schemas: `widgetic schema api partners get-partner-contract`.

## `widgetic api partners get-partner-credit-balance`

Get partner credit balance

* Request: `GET /partners/{partnerId}/credits/balance`
* Operation: `getPartnerCreditBalance` (`widgetic api call getPartnerCreditBalance` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | Partner ID |

The whole description and the schemas: `widgetic schema api partners get-partner-credit-balance`.

## `widgetic api partners get-partner-credit-transactions`

Get partner credit transaction history

* Request: `GET /partners/{partnerId}/credits/transactions`
* Operation: `getPartnerCreditTransactions` (`widgetic api call getPartnerCreditTransactions` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | Partner ID |
| `--limit <int>` | integer | | Number of transactions to return (default: 20) |
| `--offset <int>` | integer | | Number of transactions to skip (default: 0) |
| `--type <text>` | text | | Only entries of this type, for instance `debit` for the credits spent. The types are listed on `AccountCreditTransaction`. |

The whole description and the schemas: `widgetic schema api partners get-partner-credit-transactions`.

## `widgetic api partners get-partner-data-database`

See the Neon database a partner keeps the data of its compositions in

* Request: `GET /partners/{partnerId}/data-database`
* Operation: `getPartnerDataDatabase` (`widgetic api call getPartnerDataDatabase` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose database to read |

The whole description and the schemas: `widgetic schema api partners get-partner-data-database`.

## `widgetic api partners get-partner-design-defaults`

Read partner-wide design defaults

* Request: `GET /partners/{partnerId}/design-defaults`
* Operation: `getPartnerDesignDefaults` (`widgetic api call getPartnerDesignDefaults` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | |

The whole description and the schemas: `widgetic schema api partners get-partner-design-defaults`.

## `widgetic api partners get-partner-entry-context-signing`

See how the context of your embeds is signed

* Request: `GET /partners/{partnerId}/entry-context-signing`
* Operation: `getPartnerEntryContextSigning` (`widgetic api call getPartnerEntryContextSigning` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose context signing to read |

The whole description and the schemas: `widgetic schema api partners get-partner-entry-context-signing`.

## `widgetic api partners get-partner-notification-settings`

Where your notifications go

* Request: `GET /partners/{partnerId}/notifications/settings`
* Operation: `getPartnerNotificationSettings` (`widgetic api call getPartnerNotificationSettings` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose notification settings to read |

The whole description and the schemas: `widgetic schema api partners get-partner-notification-settings`.

## `widgetic api partners get-partner-storage-destination`

Get where a partner's uploaded files are stored

* Request: `GET /partners/{partnerId}/storage`
* Operation: `getPartnerStorageDestination` (`widgetic api call getPartnerStorageDestination` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose storage destination to read |

The whole description and the schemas: `widgetic schema api partners get-partner-storage-destination`.

## `widgetic api partners get-partner-storage-usage`

What a partner's customers store

* Request: `GET /partners/{partnerId}/storage/usage`
* Operation: `getPartnerStorageUsage` (`widgetic api call getPartnerStorageUsage` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose storage to report on |
| `--limit <int>` | integer | | How many managed users to list at most (default: 50) |
| `--offset <int>` | integer | | How many managed users to skip (default: 0) |

The whole description and the schemas: `widgetic schema api partners get-partner-storage-usage`.

## `widgetic api partners list-partner-notification-deliveries`

How your notifications reached you

* Request: `GET /partners/{partnerId}/notifications/deliveries`
* Operation: `listPartnerNotificationDeliveries` (`widgetic api call listPartnerNotificationDeliveries` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose deliveries to list |
| `--limit <int>` | integer | | How many deliveries to list at most (default: 100) |

The whole description and the schemas: `widgetic schema api partners list-partner-notification-deliveries`.

## `widgetic api partners list-partner-notifications`

What your partner account was told

* Request: `GET /partners/{partnerId}/notifications`
* Operation: `listPartnerNotifications` (`widgetic api call listPartnerNotifications` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose notifications to list |
| `--limit <int>` | integer | | How many notifications to list at most (default: 20) |
| `--before <date-time>` | date-time | | Only the notifications made before this moment. Give the `nextBefore` of the previous page. |

The whole description and the schemas: `widgetic schema api partners list-partner-notifications`.

## `widgetic api partners list-partner-presets`

List the widgets a partner offers as presets

* Request: `GET /partners/{partnerId}/presets`
* Operation: `listPartnerPresets` (`widgetic api call listPartnerPresets` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose presets to list |

The whole description and the schemas: `widgetic schema api partners list-partner-presets`.

## `widgetic api partners list-partner-workflow-presets`

List the workflows a partner offers as places to start

* Request: `GET /partners/{partnerId}/workflow-presets`
* Operation: `listPartnerWorkflowPresets` (`widgetic api call listPartnerWorkflowPresets` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose starting points to list |

The whole description and the schemas: `widgetic schema api partners list-partner-workflow-presets`.

## `widgetic api partners remove-partner-adapter-connection`

Remove an adapter key from a partner

* Request: `DELETE /partners/{partnerId}/adapter-connections/{adapterId}/{credentialKey}`
* Operation: `removePartnerAdapterConnection` (`widgetic api call removePartnerAdapterConnection` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).
* It deletes something, so it asks first; without a terminal it needs `--yes`.

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner that keeps the key |
| `--adapter-id <text>` | text | yes | The adapter the key is for |
| `--credential-key <text>` | text | yes | The key's name within the adapter |

The whole description and the schemas: `widgetic schema api partners remove-partner-adapter-connection`.

## `widgetic api partners remove-partner-data-database`

Stop keeping the data of a partner's compositions in its own database

* Request: `DELETE /partners/{partnerId}/data-database`
* Operation: `removePartnerDataDatabase` (`widgetic api call removePartnerDataDatabase` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).
* It deletes something, so it asks first; without a terminal it needs `--yes`.

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose database to remove |

The whole description and the schemas: `widgetic schema api partners remove-partner-data-database`.

## `widgetic api partners remove-partner-preset`

Take a widget off the partner's presets

* Request: `DELETE /partners/{partnerId}/presets/{key}`
* Operation: `removePartnerPreset` (`widgetic api call removePartnerPreset` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).
* It deletes something, so it asks first; without a terminal it needs `--yes`.

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose preset to remove |
| `--key <text>` | text | yes | The key of the preset to remove |

The whole description and the schemas: `widgetic schema api partners remove-partner-preset`.

## `widgetic api partners remove-partner-storage-destination`

Stop storing a partner's uploaded files in its own bucket

* Request: `DELETE /partners/{partnerId}/storage`
* Operation: `removePartnerStorageDestination` (`widgetic api call removePartnerStorageDestination` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).
* It deletes something, so it asks first; without a terminal it needs `--yes`.

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose storage destination to remove |

The whole description and the schemas: `widgetic schema api partners remove-partner-storage-destination`.

## `widgetic api partners remove-partner-workflow-preset`

Stop offering a workflow as a place to start

* Request: `DELETE /partners/{partnerId}/workflow-presets/{key}`
* Operation: `removePartnerWorkflowPreset` (`widgetic api call removePartnerWorkflowPreset` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).
* It deletes something, so it asks first; without a terminal it needs `--yes`.

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose starting point to remove |
| `--key <text>` | text | yes | The key of the starting point to remove |

The whole description and the schemas: `widgetic schema api partners remove-partner-workflow-preset`.

## `widgetic api partners replay-partner-notification-delivery`

Send a webhook delivery again

* Request: `POST /partners/{partnerId}/notifications/deliveries/{deliveryId}/replay`
* Operation: `replayPartnerNotificationDelivery` (`widgetic api call replayPartnerNotificationDelivery` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose delivery to replay |
| `--delivery-id <uuid>` | uuid | yes | The delivery to send again (must be a webhook delivery of this partner) |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |

The whole description and the schemas: `widgetic schema api partners replay-partner-notification-delivery`.

## `widgetic api partners rotate-partner-entry-context-secret`

Make a secret to sign the context of your embeds

* Request: `POST /partners/{partnerId}/entry-context-signing/secret`
* Operation: `rotatePartnerEntryContextSecret` (`widgetic api call rotatePartnerEntryContextSecret` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose secret to make |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |

The whole description and the schemas: `widgetic schema api partners rotate-partner-entry-context-secret`.

## `widgetic api partners rotate-partner-webhook-secret`

Make a new secret for your webhook

* Request: `POST /partners/{partnerId}/notifications/webhook-secret`
* Operation: `rotatePartnerWebhookSecret` (`widgetic api call rotatePartnerWebhookSecret` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose webhook secret to replace |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |

The whole description and the schemas: `widgetic schema api partners rotate-partner-webhook-secret`.

## `widgetic api partners send-partner-notification-test-event`

Send a test event to your webhook

* Request: `POST /partners/{partnerId}/notifications/test-event`
* Operation: `sendPartnerNotificationTestEvent` (`widgetic api call sendPartnerNotificationTestEvent` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose webhook to try |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |
| `--event-type <text>` | one of `invoice.issued`, `invoice.due_soon`, `invoice.overdue`, `invoice.paid`, `invoice.failed`, `credits.low`, `credits.managed_user_cap_reached`, `partner.activated`, `partner.paused`, `partner.resumed`, `storage.check_failed`, `composition.created`, `composition.updated`, `widget.published`, `upload.created`, `entry.created`, `workflow.created`, `workflow.published`, `workflow.state_changed`, `workflow.deleted` | | What happened. The event types you can be told about. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners send-partner-notification-test-event`.

## `widgetic api partners set-partner-adapter-connection`

Connect an adapter key to a partner

* Request: `PUT /partners/{partnerId}/adapter-connections/{adapterId}/{credentialKey}`
* Operation: `setPartnerAdapterConnection` (`widgetic api call setPartnerAdapterConnection` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner that keeps the key |
| `--adapter-id <text>` | text | yes | The adapter the key is for |
| `--credential-key <text>` | text | yes | The key's name within the adapter |
| `--credential <@file\|->` | a secret: `@path` or `-`, never the text itself | | The key exactly as its provider gave it: one line of text, at most 2048 characters. It is stored encrypted and is never returned or logged. A secret: give @path to read it from a file, or - to type it where it is not shown (or to read it from standard input). It is never typed as text, and --dry-run leaves it out. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-adapter-connection`.

## `widgetic api partners set-partner-data-database`

Keep the data of a partner's compositions in a Neon database of its own

* Request: `PUT /partners/{partnerId}/data-database`
* Operation: `setPartnerDataDatabase` (`widgetic api call setPartnerDataDatabase` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose database to set |
| `--connection-string <@file\|->` | a secret: `@path` or `-`, never the text itself | | The connection string of a Neon database and role you made for this, as Neon shows it under Connect: `postgresql://<role>:<password>@ep-<name>.<region>.aws.neon.tech/<database>`. A secret: give @path to read it from a file, or - to type it where it is not shown (or to read it from standard input). It is never typed as text, and --dry-run leaves it out. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-data-database`.

## `widgetic api partners set-partner-design-defaults`

Set or clear partner-wide design defaults

* Request: `PUT /partners/{partnerId}/design-defaults`
* Operation: `setPartnerDesignDefaults` (`widgetic api call setPartnerDesignDefaults` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-design-defaults`.

## `widgetic api partners set-partner-preset`

Make a widget a preset, or replace a preset

* Request: `PUT /partners/{partnerId}/presets/{key}`
* Operation: `setPartnerPreset` (`widgetic api call setPartnerPreset` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose preset to set |
| `--key <text>` | text | yes | The name your code uses for the preset |
| `--widget-id <uuid>` | uuid | | One of the partner's own widgets. A widget is a preset under at most one key. |
| `--title <text>` | text | | What your picker shows. Leave it out to show the widget's own name. |
| `--description <text>` | text | | |
| `--position <int>` | integer | | Where the preset sits in the list. Smallest first; presets with the same position are ordered by key. (default: 0) |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-preset`.

## `widgetic api partners set-partner-storage-destination`

Set where a partner's uploaded files are stored

* Request: `PUT /partners/{partnerId}/storage`
* Operation: `setPartnerStorageDestination` (`widgetic api call setPartnerStorageDestination` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose storage destination to set |
| `--endpoint <text>` | text | | The HTTPS address of the S3-compatible service, scheme and host only (no path, port or credentials). It must be a host name, not an IP address, and must resolve to the public internet. |
| `--region <text>` | text | | The region the service signs requests for. Use auto where the service says so (such as Cloudflare R2). |
| `--bucket <text>` | text | | |
| `--key-prefix <text>` | text | | A folder inside the bucket to write every file under, for example widgetic/uploads. Folders are made of letters, digits, dots, hyphens and underscores. Leave it out to write at the root of the bucket. (default: ) |
| `--public-base-url <text>` | text | | Where the stored files are served from: the bucket's public address, or a CDN in front of it. The address of a file is this value, a slash and the file's key in the bucket, which starts with the key prefix. |
| `--force-path-style` | switch | | Put the bucket name in the path of a request. Every S3-compatible service supports this; set it to false only for a service that needs the bucket name in the host name. (default: true) --no-force-path-style turns it off. |
| `--access-key-id <text>` | text | | The id of an access key that may put objects into the bucket |
| `--secret-access-key <@file\|->` | a secret: `@path` or `-`, never the text itself | | The secret of that access key. It is stored encrypted and is never returned. A secret: give @path to read it from a file, or - to type it where it is not shown (or to read it from standard input). It is never typed as text, and --dry-run leaves it out. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-storage-destination`.

## `widgetic api partners set-partner-workflow-preset`

Offer a workflow as a place to start, or replace what a key offers

* Request: `PUT /partners/{partnerId}/workflow-presets/{key}`
* Operation: `setPartnerWorkflowPreset` (`widgetic api call setPartnerWorkflowPreset` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose starting point to set |
| `--key <text>` | text | yes | The name your code and the picker use for the starting point |
| `--workflow-id <uuid>` | uuid | | One of your own published workflows. |
| `--title <text>` | text | | What the picker shows. Leave it out to show the workflow's name. |
| `--description <text>` | text | | |
| `--position <int>` | integer | | Where it sits in the list. Smallest first; the same position is ordered by key. (default: 0) |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners set-partner-workflow-preset`.

## `widgetic api partners update-partner-entry-context-signing`

Require a signed context, or stop requiring it

* Request: `PUT /partners/{partnerId}/entry-context-signing`
* Operation: `updatePartnerEntryContextSigning` (`widgetic api call updatePartnerEntryContextSigning` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose context signing to change |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |
| `--required` | switch | | True to refuse every entry whose context carries no valid signature. False to check the signature of the entries that carry one and accept the others, as before. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners update-partner-entry-context-signing`.

## `widgetic api partners update-partner-notification-settings`

Choose where your notifications go

* Request: `PUT /partners/{partnerId}/notifications/settings`
* Operation: `updatePartnerNotificationSettings` (`widgetic api call updatePartnerNotificationSettings` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose notification settings to change |
| `--idempotency-key <text>` | text | | Names this one request, so a repeat of it is carried out once. The CLI makes a key when this is left out and sends the same one on every try; give your own (a UUID is ideal) to repeat the call by hand later. |
| `--email-recipients <values...>` | list (repeat the flag) | | The addresses the emails go to, at most five. An empty list goes back to the defaults. |
| `--email-events <values...>` | one of `invoice.issued`, `invoice.due_soon`, `invoice.overdue`, `invoice.paid`, `invoice.failed`, `credits.low`, `credits.managed_user_cap_reached`, `partner.activated`, `partner.paused`, `partner.resumed`, `storage.check_failed`, `composition.created`, `composition.updated`, `widget.published`, `upload.created`, `entry.created`, `workflow.created`, `workflow.published`, `workflow.state_changed`, `workflow.deleted` | | The events you want by email. Null for every event. |
| `--webhook-events <values...>` | one of `invoice.issued`, `invoice.due_soon`, `invoice.overdue`, `invoice.paid`, `invoice.failed`, `credits.low`, `credits.managed_user_cap_reached`, `partner.activated`, `partner.paused`, `partner.resumed`, `storage.check_failed`, `composition.created`, `composition.updated`, `widget.published`, `upload.created`, `entry.created`, `workflow.created`, `workflow.published`, `workflow.state_changed`, `workflow.deleted` | | The events to send to your webhook. Null for every event. |
| `--webhook-url <text>` | text | | Where to send the signed calls. It must be an https address on the standard port, on a public site, and it must not redirect. Null or an empty text switches the webhook off. |
| `--data <json\|@file\|->` | JSON, `@path` or `-` | | The whole request document as JSON, `@path` to a file that holds it, or `-` for standard input. The flags above override its keys. |

The whole description and the schemas: `widgetic schema api partners update-partner-notification-settings`.

## `widgetic api partners verify-partner-data-database`

Check that a partner's own database still works

* Request: `POST /partners/{partnerId}/data-database/verify`
* Operation: `verifyPartnerDataDatabase` (`widgetic api call verifyPartnerDataDatabase` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose database to check |

The whole description and the schemas: `widgetic schema api partners verify-partner-data-database`.

## `widgetic api partners verify-partner-storage-destination`

Check that a partner's storage destination still works

* Request: `POST /partners/{partnerId}/storage/verify`
* Operation: `verifyPartnerStorageDestination` (`widgetic api call verifyPartnerStorageDestination` runs it by that name)
* Needs a partner API key (wgt\_prt\_…).

| Flag | Takes | Required | What it does |
| - | - | - | - |
| `--partner-id <uuid>` | uuid | yes | The partner whose storage destination to check |

The whole description and the schemas: `widgetic schema api partners verify-partner-storage-destination`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.