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

# Start a fundraising outreach sequence to an investor/LP

> Free -- not billed. Schedules a sequence; does NOT draft or send anything itself -- a separate background cadence process drafts each touch, runs it through anti-hallucination guards, and sends it (after approval, by default) via the tenant's connected Gmail account. Requires Gmail to be connected first (see the dashboard); rejects with 422 if the investor email is on this tenant's suppression list.



## OpenAPI

````yaml /helium/openapi.json post /v1/fundraising/create-sequence
openapi: 3.1.0
info:
  title: Helium API
  version: '1.0'
  description: >-
    Helium is a fundraising-research REST API sharing Horizon's prepaid-credit
    account system. Every request authenticates with an `Authorization: Bearer
    <key>` header (the same key that works against Horizon) and, on a billed
    endpoint, debits a fixed number of credits from your shared prepaid balance.
    Check your balance any time with GET /v1/usage (shared with Horizon).
servers:
  - url: https://lite.gravitygtm.com/api
security:
  - bearerAuth: []
paths:
  /v1/fundraising/create-sequence:
    post:
      tags:
        - fundraising
      summary: Start a fundraising outreach sequence to an investor/LP
      description: >-
        Free -- not billed. Schedules a sequence; does NOT draft or send
        anything itself -- a separate background cadence process drafts each
        touch, runs it through anti-hallucination guards, and sends it (after
        approval, by default) via the tenant's connected Gmail account. Requires
        Gmail to be connected first (see the dashboard); rejects with 422 if the
        investor email is on this tenant's suppression list.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartSequenceRequest'
      responses:
        '200':
          description: 200 -- sequence created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  sequenceId:
                    type: string
                required:
                  - sequenceId
        '400':
          description: 400 invalid_request -- body failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            401 unauthorized -- missing or invalid `Authorization: Bearer <key>`
            header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: >-
            422 suppressed -- this investor has opted out or been suppressed for
            this tenant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    StartSequenceRequest:
      type: object
      properties:
        investor_email:
          type: string
          format: email
        investor_name:
          type: string
          minLength: 1
      required:
        - investor_email
    ErrorResponse:
      type: object
      description: >-
        Standard error body. Every response (success or error) carries a
        request_id for support reference.
      properties:
        error:
          type: string
          description: Machine-readable error code.
          enum:
            - unauthorized
            - insufficient_credits
            - not_found
            - rate_limited
            - vendor_error
            - vendor_capacity
        message:
          type: string
          description: Human-readable error detail.
        request_id:
          type: string
          format: uuid
        credits_remaining:
          type: number
          description: >-
            Present whenever a post-reservation/refund balance is known for this
            request.
        refund_issue:
          type: boolean
          description: >-
            Set only when a compensating credit refund itself failed (e.g. a
            transient store error) -- the customer may have been charged without
            the refund landing yet.
      required:
        - error
        - message
        - request_id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````