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

# download

> Download object (no `action` — use `sources`)

**Direction:** source (read via `sources`)
**Collection:** `sources`

Put this object on a phase in `team.yml` (YAML). The request body schema mirrors that phase.




## OpenAPI

````yaml /openapi/agents.yaml post /s3/download
openapi: 3.1.0
info:
  title: Cliq Agents
  version: 1.0.0
  description: >
    Connector and related agent **actions**, documented like an API.


    Each **tag** in the left nav is an agent. Each **operation** is an action
    you set on a phase in `team.yml`.


    This is **not** an HTTP service — the paths (`/jira/get_issue`, …) are
    documentation handles so Mintlify can render a standard API reference with
    left navigation.


    **How to use**

    1. Configure daemon settings (`cliq settings agents.<name>.*`).

    2. Add a phase with `agent: <name>` and `action: <operation>` (when
    required).

    3. Fill `sources` or `target_entries` entry fields as shown on each
    operation.


    Source of truth: `cliq-agents/*/manifest.json`. Regenerate with `node
    documentation/scripts/sync_agent_capability_docs.mjs`.
servers:
  - url: https://docs.getcliq.io
    description: >-
      Documentation surface only — these operations describe team.yml phase
      config, not an HTTP API.
security: []
tags:
  - name: confluence
    description: >
      Confluence connector — fetch and publish pages, spaces, and search results


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/confluence/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.confluence.<key> <value>

      ```


      ### Required


      - `base_url` — Confluence instance URL, e.g.
      https://yoursite.atlassian.net/wiki

      - `email` — Confluence account email for authentication

      - `api_token` — Confluence API token for authentication


      ## Shared phase inputs


      - `action` (`string`, **required**) — Confluence operation: get_page |
      search | create_page | update_page

      - `sources` (`source_entry[]`, required unless `target_entries`) —
      Confluence resources to fetch (pages, spaces, search)

      - `target_entries` (`target_entry[]`, required unless `sources`) —
      Confluence resources to write to (create/update pages)
  - name: curl
    description: >
      HTTP connector — fetch URLs and deliver content via curl


      **Type:** `exec` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/curl/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      No daemon settings required.


      ## Shared phase inputs


      - `sources` (`source_entry[]`, required unless `target_entries`) — URLs to
      fetch content from

      - `target_entries` (`target_entry[]`, required unless `sources`) — URLs to
      deliver content to
  - name: datadog
    description: >
      Datadog connector — fetch metrics, events, monitors, and logs


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/datadog/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.datadog.<key> <value>

      ```


      ### Required


      - `api_key` — Datadog API key

      - `app_key` — Datadog application key


      ## Shared phase inputs


      - `action` (`string`, **required**) — Datadog operation: query_metrics |
      get_monitors | get_events | post_event

      - `sources` (`source_entry[]`, required unless `target_entries`) — Datadog
      resources to fetch (metrics, monitors, events)

      - `target_entries` (`target_entry[]`, required unless `sources`) — Datadog
      resources to write to (events, monitors)
  - name: email
    description: >
      Email notification agent — delivers pipeline event notifications via SMTP


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/email/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.email.<key> <value>

      ```


      ### Required


      - `smtp_host` — SMTP server hostname

      - `channels` — Channel name to email address mapping


      ### Optional


      - `smtp_port` — SMTP server port, default 587

      - `username` — SMTP authentication username

      - `password` — SMTP authentication password

      - `tls` — Enable TLS encryption, default true

      - `from_address` — Sender email address

      - `from_name` — Sender display name


      ## Shared phase inputs


      - `notify` (`string[]`, optional) — Pipeline events this agent handles
      (e.g. on_escalate, on_complete)
  - name: gdrive
    description: >
      Google Drive connector — fetch and upload files from Google Drive


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/gdrive/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.gdrive.<key> <value>

      ```


      ### Required


      - `credentials_file` — Path to Google service account credentials JSON
      file


      ### Optional


      - `auth_mode` — Authentication mode: 'service_account' or 'oauth'


      ## Shared phase inputs


      - `sources` (`source_entry[]`, required unless `target_entries`) — Google
      Drive files to download

      - `target_entries` (`target_entry[]`, required unless `sources`) — Google
      Drive files to upload
  - name: git
    description: >
      Git finalization — create pull requests via GitHub or Bitbucket


      **Type:** `connector` · **Version:** `1.1.1`

      **Manifest:** `cliq-agents/git/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.git.<key> <value>

      ```


      ### Required


      - `provider` — Git hosting provider: github or bitbucket

      - `github.token` _(when provider=github)_ — GitHub personal access token
      (repo scope)

      - `bitbucket.email` _(when provider=bitbucket)_ — Bitbucket account email

      - `bitbucket.api_token` _(when provider=bitbucket)_ — Bitbucket API token
      / app password

      - `bitbucket.workspace` _(when provider=bitbucket)_ — Bitbucket workspace
      slug


      ### Optional


      - `github.base_branch` _(when provider=github)_ (default: `"main"`) —
      Default PR base branch for GitHub repos (fallback when the open-pr phase
      does not pin one; further fallback to the remote's HEAD symref, then
      'main')

      - `github.remote` _(when provider=github)_ (default: `"origin"`) — Git
      remote name used to resolve the repo

      - `github.pr_draft` _(when provider=github)_ (default: `false`) — Create
      pull requests as drafts

      - `bitbucket.base_url` _(when provider=bitbucket)_ (default:
      `"https://api.bitbucket.org/2.0"`) — Bitbucket API base URL

      - `bitbucket.base_branch` _(when provider=bitbucket)_ — Default PR base
      branch for Bitbucket repos (fallback when the open-pr phase does not pin
      one; further fallback to the remote's HEAD symref, then 'main')


      ## Shared phase inputs


      - `action` (`string`, **required**) — Git operation to perform (currently
      only 'create_pr')

      - `project_dir` (`string`, optional) — Working tree the PR is opened from
      (defaults to process.cwd())

      - `base_branch` (`string`, optional) — Destination branch for the PR (e.g.
      'master', 'develop'). Overrides settings.<provider>.base_branch and the
      remote HEAD auto-detect; falls back to 'main' if none is available

      - `notify` (`object`, optional) — Pipeline lifecycle events this agent can
      handle (e.g. on_complete with action: create_pr)
  - name: hubspot
    description: >
      HubSpot connector — fetch and update contacts, deals, companies, and
      tickets


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/hubspot/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.hubspot.<key> <value>

      ```


      ### Required


      - `access_token` — HubSpot private app access token


      ## Shared phase inputs


      - `action` (`string`, **required**) — HubSpot operation: get_contact |
      get_deal | get_company | search | add_note

      - `sources` (`source_entry[]`, required unless `target_entries`) — HubSpot
      resources to fetch (contacts, deals, companies)

      - `target_entries` (`target_entry[]`, required unless `sources`) — HubSpot
      resources to write to (create/update records)
  - name: jira
    description: >
      Jira connector — fetch issues/trees, create/update Stories from
      dispatch.json, comments, transitions


      **Type:** `connector` · **Version:** `1.2.1`

      **Manifest:** `cliq-agents/jira/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.jira.<key> <value>

      ```


      ### Required


      - `base_url` — Jira instance URL, e.g. https://yoursite.atlassian.net

      - `email` — Jira account email for authentication

      - `api_token` — Jira API token for authentication


      ## Shared phase inputs


      - `action` (`string`, **required**) — Jira operation: get_issue |
      get_issue_tree | get_comments | search | add_comment | transition |
      create_issue | update_issue | update_fields

      - `sources` (`source_entry[]`, required unless `target_entries`) — Jira
      resources to fetch (issues, trees, comments, search)

      - `target_entries` (`target_entry[]`, required unless `sources`) — Jira
      resources to write (comments, transitions, dispatch.json create/update)

      - `notify` (`object`, optional) — Pipeline lifecycle events this agent can
      handle (e.g. on_escalate, on_complete)
  - name: s3
    description: >
      S3 connector — fetch and upload objects from AWS S3 buckets


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/s3/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.s3.<key> <value>

      ```


      ### Required


      - `access_key_id` — AWS access key ID

      - `secret_access_key` — AWS secret access key


      ## Shared phase inputs


      - `sources` (`source_entry[]`, required unless `target_entries`) — S3
      objects to download

      - `target_entries` (`target_entry[]`, required unless `sources`) — S3
      objects to upload
  - name: slack
    description: >
      Slack notification agent — delivers pipeline event notifications to Slack
      webhooks


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/slack/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.slack.<key> <value>

      ```


      ### Required


      - `channels` — Channel name to webhook URL mapping for notifications


      ## Shared phase inputs


      - `notify` (`string[]`, optional) — Pipeline events this agent handles
      (e.g. on_escalate, on_complete)
  - name: zendesk
    description: >
      Zendesk connector — fetch and update tickets, comments, and searches


      **Type:** `connector` · **Version:** `1.0.0`

      **Manifest:** `cliq-agents/zendesk/manifest.json`


      This is **team.yml phase configuration**, not an HTTP API. Each operation
      below is an agent action.


      ## Settings


      Configure on the daemon before runs:


      ```bash

      cliq settings agents.zendesk.<key> <value>

      ```


      ### Required


      - `subdomain` — Zendesk subdomain, e.g. 'yourcompany' from
      yourcompany.zendesk.com

      - `email` — Zendesk agent email for authentication

      - `api_token` — Zendesk API token for authentication


      ## Shared phase inputs


      - `action` (`string`, **required**) — Zendesk operation: get_ticket |
      get_comments | search | add_comment | update_status

      - `sources` (`source_entry[]`, required unless `target_entries`) — Zendesk
      resources to fetch (tickets, comments, search)

      - `target_entries` (`target_entry[]`, required unless `sources`) — Zendesk
      resources to write to (comments, status updates)
paths:
  /s3/download:
    post:
      tags:
        - s3
      summary: download
      description: >
        Download object (no `action` — use `sources`)


        **Direction:** source (read via `sources`)

        **Collection:** `sources`


        Put this object on a phase in `team.yml` (YAML). The request body schema
        mirrors that phase.
      operationId: s3.download
      requestBody:
        required: true
        description: Phase configuration for this action (team.yml shape).
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3DownloadPhase'
            examples:
              phase:
                summary: team.yml phase
                value:
                  name: s3-download
                  agent: s3
                  sources:
                    - name: artifact
                      ref: PROJ-123
      responses:
        '200':
          description: >-
            Phase completes successfully. Connector agents write artifacts under
            `.cliq/files/{phase}/` and return structured `data` / `text` in the
            agent result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  text:
                    type: string
                    description: Human-readable summary
                  data:
                    type: object
                    additionalProperties: true
                    description: Action-specific result payload
        '400':
          description: Missing required settings, phase inputs, or entry fields.
components:
  schemas:
    S3DownloadPhase:
      type: object
      additionalProperties: true
      required:
        - name
        - agent
        - sources
      properties:
        name:
          type: string
          description: Phase name in team.yml
          example: s3-download
        agent:
          type: string
          enum:
            - s3
          description: Must be `s3`
        sources:
          type: array
          description: Read sources for this action
          minItems: 1
          items:
            type: object
            additionalProperties: false
            properties:
              name:
                type: string
                description: Output filename under `.cliq/files/{phase}/`
              ref:
                type: string
                description: S3 URI `s3://bucket/key` or `bucket/key`
            required:
              - name
              - ref

````

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