@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/?post_type=lh-portfolio-doc&#038;p=150297>
  a sioc:Post ;
  dc:title "Abilities" ;
  dcterms:identifier 150297 ;
  dc:modified "2026-10-15T00:25:33Z"^^xsd:dateTime ;
  dc:created "2026-10-15T00:25:33Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-connections/abilities/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded "<ul class=\"lh_portfolio-meta\"><li><strong>Part of:</strong> <a href=\"https://lhero.org/portfolio/lh-connections/\">LH Connections</a></li></ul><div class=\"lh_portfolio-ability-reference\"><ul class=\"lh_portfolio-ability-reference-index\"><li><a href=\"#ability-create-connection\"><code>create-connection</code></a> Create Connection</li><li><a href=\"#ability-delete-connection\"><code>delete-connection</code></a> Delete Connection</li><li><a href=\"#ability-list-connections\"><code>list-connections</code></a> List Connections</li><li><a href=\"#ability-update-connection\"><code>update-connection</code></a> Update Connection</li></ul><section class=\"lh_portfolio-ability-reference-ability\" id=\"ability-create-connection\"><h2>Create Connection</h2><p class=\"lh_portfolio-ability-reference-meta\"><code>lh-connections/create-connection</code></p><p>Create a new site-level connection. Credentials are encrypted at rest. Note: for sensitive credential types, prefer entering values via the Network Admin -&gt; Network Tools -&gt; Connections screen directly rather than this ability, so secret values never pass through a conversation. Requires <code>install_plugins</code>.</p><figure class=\"wp-block-table lh_portfolio-ability-reference-params\"><table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>site_id</code></td><td>integer</td><td>Yes</td><td></td><td>Site ID.</td></tr><tr><td><code>type</code></td><td>string</td><td>Yes</td><td></td><td>Connection type. One of: <code>smtp</code>, <code>imap</code>, <code>github</code>.</td></tr><tr><td><code>slug</code></td><td>string</td><td>Yes</td><td></td><td>Unique slug, e.g. the from-email address.</td></tr><tr><td><code>label</code></td><td>string</td><td>Yes</td><td></td><td>Human-readable label.</td></tr><tr><td><code>credentials</code></td><td>object</td><td>Yes</td><td></td><td>Key-value credential fields &#8211; shape depends on type, see that type&#039;s registered credential fields.</td></tr><tr><td><code>task_id</code></td><td>integer</td><td>No</td><td></td><td>Optional. The lh-tasks task this call is working on. Pass with <code>claim_token</code>: the call is refused unless you hold that claim, and a successful call renews it.</td></tr><tr><td><code>claim_token</code></td><td>string</td><td>No</td><td></td><td>Optional. The <code>claim_token</code> from claim-next-task for <code>task_id</code>. Required when <code>task_id</code> is given.</td></tr></tbody></table></figure></section><section class=\"lh_portfolio-ability-reference-ability\" id=\"ability-delete-connection\"><h2>Delete Connection</h2><p class=\"lh_portfolio-ability-reference-meta\"><code>lh-connections/delete-connection</code> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-destructive\">Destructive</span> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-idempotent\">Idempotent</span></p><p>Delete a site-level connection by <code>site_id</code>, type, and slug. Requires <code>install_plugins</code>.</p><figure class=\"wp-block-table lh_portfolio-ability-reference-params\"><table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>site_id</code></td><td>integer</td><td>Yes</td><td></td><td>Site ID.</td></tr><tr><td><code>type</code></td><td>string</td><td>Yes</td><td></td><td>Connection type. One of: <code>smtp</code>, <code>imap</code>, <code>github</code>.</td></tr><tr><td><code>slug</code></td><td>string</td><td>Yes</td><td></td><td>Slug of the connection to delete.</td></tr><tr><td><code>task_id</code></td><td>integer</td><td>No</td><td></td><td>Optional. The lh-tasks task this call is working on. Pass with <code>claim_token</code>: the call is refused unless you hold that claim, and a successful call renews it.</td></tr><tr><td><code>claim_token</code></td><td>string</td><td>No</td><td></td><td>Optional. The <code>claim_token</code> from claim-next-task for <code>task_id</code>. Required when <code>task_id</code> is given.</td></tr></tbody></table></figure></section><section class=\"lh_portfolio-ability-reference-ability\" id=\"ability-list-connections\"><h2>List Connections</h2><p class=\"lh_portfolio-ability-reference-meta\"><code>lh-connections/list-connections</code> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-readonly\">Read-only</span> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-idempotent\">Idempotent</span></p><p>List all site-level connections, optionally filtered by <code>site_id</code> and/or type. Returns the names of the credential fields that are set, never their values. Requires <code>install_plugins</code>.</p><figure class=\"wp-block-table lh_portfolio-ability-reference-params\"><table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>site_id</code></td><td>integer</td><td>No</td><td></td><td>Site ID to filter by. Defaults to current site.</td></tr><tr><td><code>type</code></td><td>string</td><td>No</td><td></td><td>Connection type to filter by. Omit for all types. One of: <code>smtp</code>, <code>imap</code>, <code>github</code>.</td></tr></tbody></table></figure></section><section class=\"lh_portfolio-ability-reference-ability\" id=\"ability-update-connection\"><h2>Update Connection</h2><p class=\"lh_portfolio-ability-reference-meta\"><code>lh-connections/update-connection</code> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-destructive\">Destructive</span> <span class=\"lh_portfolio-ability-reference-annotation lh_portfolio-ability-reference-annotation-idempotent\">Idempotent</span></p><p>Update an existing site-level connection. Omitted credential fields are preserved. Note: for sensitive credential types, prefer updating values via the Network Admin -&gt; Network Tools -&gt; Connections screen directly rather than this ability, so secret values never pass through a conversation. Requires <code>install_plugins</code>.</p><figure class=\"wp-block-table lh_portfolio-ability-reference-params\"><table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>site_id</code></td><td>integer</td><td>Yes</td><td></td><td>Site ID.</td></tr><tr><td><code>type</code></td><td>string</td><td>Yes</td><td></td><td>Connection type. One of: <code>smtp</code>, <code>imap</code>, <code>github</code>.</td></tr><tr><td><code>slug</code></td><td>string</td><td>Yes</td><td></td><td>Slug of the connection to update.</td></tr><tr><td><code>label</code></td><td>string</td><td>No</td><td></td><td>Updated label (optional).</td></tr><tr><td><code>credentials</code></td><td>object</td><td>No</td><td></td><td>Credential fields to update. Omitted fields are preserved.</td></tr><tr><td><code>task_id</code></td><td>integer</td><td>No</td><td></td><td>Optional. The lh-tasks task this call is working on. Pass with <code>claim_token</code>: the call is refused unless you hold that claim, and a successful call renews it.</td></tr><tr><td><code>claim_token</code></td><td>string</td><td>No</td><td></td><td>Optional. The <code>claim_token</code> from claim-next-task for <code>task_id</code>. Required when <code>task_id</code> is given.</td></tr></tbody></table></figure></section></div>"^^rdf:XMLLiteral ;
  sioc:content "Part of: LH Connectionscreate-connection Create Connectiondelete-connection Delete Connectionlist-connections List Connectionsupdate-connection Update ConnectionCreate Connectionlh-connections/create-connectionCreate a new site-level connection. Credentials are encrypted at rest. Note: for sensitive credential types, prefer entering values via the Network Admin -&gt; Network Tools -&gt; Connections screen directly rather than this ability, so secret values never pass through a conversation. Requires install_plugins.ParameterTypeRequiredDefaultDescriptionsite_idintegerYesSite ID.typestringYesConnection type. One of: smtp, imap, github.slugstringYesUnique slug, e.g. the from-email address.labelstringYesHuman-readable label.credentialsobjectYesKey-value credential fields &#8211; shape depends on type, see that type&#039;s registered credential fields.task_idintegerNoOptional. The lh-tasks task this call is working on. Pass with claim_token: the call is refused unless you hold that claim, and a successful call renews it.claim_tokenstringNoOptional. The claim_token from claim-next-task for task_id. Required when task_id is given.Delete Connectionlh-connections/delete-connection Destructive IdempotentDelete a site-level connection by site_id, type, and slug. Requires install_plugins.ParameterTypeRequiredDefaultDescriptionsite_idintegerYesSite ID.typestringYesConnection type. One of: smtp, imap, github.slugstringYesSlug of the connection to delete.task_idintegerNoOptional. The lh-tasks task this call is working on. Pass with claim_token: the call is refused unless you hold that claim, and a successful call renews it.claim_tokenstringNoOptional. The claim_token from claim-next-task for task_id. Required when task_id is given.List Connectionslh-connections/list-connections Read-only IdempotentList all site-level connections, optionally filtered by site_id and/or type. Returns the names of the credential fields that are set, never their values. Requires install_plugins.ParameterTypeRequiredDefaultDescriptionsite_idintegerNoSite ID to filter by. Defaults to current site.typestringNoConnection type to filter by. Omit for all types. One of: smtp, imap, github.Update Connectionlh-connections/update-connection Destructive IdempotentUpdate an existing site-level connection. Omitted credential fields are preserved. Note: for sensitive credential types, prefer updating values via the Network Admin -&gt; Network Tools -&gt; Connections screen directly rather than this ability, so secret values never pass through a conversation. Requires install_plugins.ParameterTypeRequiredDefaultDescriptionsite_idintegerYesSite ID.typestringYesConnection type. One of: smtp, imap, github.slugstringYesSlug of the connection to update.labelstringNoUpdated label (optional).credentialsobjectNoCredential fields to update. Omitted fields are preserved.task_idintegerNoOptional. The lh-tasks task this call is working on. Pass with claim_token: the call is refused unless you hold that claim, and a successful call renews it.claim_tokenstringNoOptional. The claim_token from claim-next-task for task_id. Required when task_id is given." ;
  sioc:topic <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
