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

# get_commission_letters_campaign

Return one commission-letter campaign's full detail, recipient by recipient.

The natural follow-up to `list_commission_letters`: take a campaign row and
read everything about it — its meta (template, subject, send choice, when and by
whom it was sent, a derived `overall_status`), one `EnvelopeDetail` per
recipient (status plus sent / received / viewed / signed / declined / voided /
expired timestamps, and the ordered signers of that letter), and the campaign's
pre/post signers per user. Every person is surfaced by email, never a bare id. A
single object — no pagination. A campaign you can't access is reported as not
found. The letters' PDF content is omitted.

## Parameters

<Accordion title="Body" defaultOpen>
  <ParamField body="commission_letter" type="string" required>
    The campaign to read. Accepts the campaign's ObjectId (the id returned by
    list\_commission\_letters) or a case-insensitive substring of its name. A name
    matching no — or more than one — campaign raises a clear error; pass the
    full id to disambiguate.
  </ParamField>
</Accordion>

## Response

<Accordion title="Body" defaultOpen>
  <ResponseField name="id" type="string" />

  <ResponseField name="resource_url" type="string">
    Deep link to open this campaign in the Qobra web app.
  </ResponseField>

  <ResponseField name="name" type="string" />

  <ResponseField name="template_name" type="string" />

  <ResponseField name="recipient_count" type="integer" />

  <ResponseField name="sending_choice" type="string">
    How the letters are delivered: email (plain email) or esignature (electronic
    signature). One of: `email`, `esignature`.
  </ResponseField>

  <ResponseField name="sent" type="boolean" />

  <ResponseField name="sent_at" type="string" />

  <ResponseField name="created_at" type="string" />

  <ResponseField name="overall_status" type="string">
    One of: `draft`, `generating`, `sent`, `awaiting_signatures`, `completed`,
    `action_needed`.
  </ResponseField>

  <ResponseField name="envelope_counts" type="object">
    Letters tallied per e-signature envelope status; empty for e-mail campaigns
    (they have no envelopes).
  </ResponseField>

  <ResponseField name="subject" type="string" />

  <ResponseField name="sent_by_email" type="string" />

  <ResponseField name="presigner_mode" type="string">
    How the pre-signer is chosen: specific (a fixed named person) or dynamic
    (resolved from the org chart, 1-3 levels above the letter owner). One of:
    `specific`, `dynamic`.
  </ResponseField>

  <ResponseField name="postsigner_mode" type="string">
    Same as presigner\_mode, for the post-signer. One of: `specific`, `dynamic`.
  </ResponseField>

  <ResponseField name="envelopes" type="object[]">
    <Expandable title="object properties">
      <ResponseField name="recipient_email" type="string">
        The user this letter is for (one envelope = one recipient's letter).
      </ResponseField>

      <ResponseField name="status" type="string">
        E-signature state of this letter: sent, waiting\_for\_approval, received,
        viewed, signed, declined, voided, expired. One of: `sent`,
        `waiting_for_approval`, `received`, `viewed`, `signed`, `voided`,
        `expired`, `declined`.
      </ResponseField>

      <ResponseField name="sent_at" type="string" />

      <ResponseField name="received_at" type="string" />

      <ResponseField name="viewed_at" type="string" />

      <ResponseField name="signed_at" type="string" />

      <ResponseField name="declined_at" type="string" />

      <ResponseField name="voided_at" type="string" />

      <ResponseField name="expired_at" type="string" />

      <ResponseField name="reminded_at" type="string" />

      <ResponseField name="cancellation_reason" type="string" />

      <ResponseField name="cancelled_by_email" type="string" />

      <ResponseField name="recipients" type="object[]">
        The ordered signers of this single letter.

        <Expandable title="object properties">
          <ResponseField name="email" type="string" />

          <ResponseField name="routing_order" type="integer" />

          <ResponseField name="status" type="string">
            Signer state: sent, received, delivered (means the letter was
            viewed), completed (signed), resent (reminder sent), declined. Only
            meaningful for e-signature campaigns. One of: `sent`, `received`,
            `delivered`, `completed`, `resent`, `declined`.
          </ResponseField>

          <ResponseField name="sent_at" type="string" />

          <ResponseField name="received_at" type="string" />

          <ResponseField name="viewed_at" type="string" />

          <ResponseField name="signed_at" type="string" />

          <ResponseField name="declined_at" type="string" />

          <ResponseField name="reminded_at" type="string" />
        </Expandable>
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="signers" type="object[]">
    <Expandable title="object properties">
      <ResponseField name="user_email" type="string" />

      <ResponseField name="presigner_email" type="string" />

      <ResponseField name="postsigner_email" type="string" />
    </Expandable>
  </ResponseField>
</Accordion>
