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

# Share an opportunity, award, or contact by email

> Send an opportunity, award, or contact to one or more recipients by email. Delivery is queued immediately and is at-least-once, so a transient failure may redeliver to recipients who already received the message.

Recipients must be Govly users at your own organization, a partner organization, or a distributor organization. Addresses outside that set are rejected rather than silently dropped, and no email is sent for the request.

The identifier form depends on the type. Opportunities take the numeric Govly ID. Awards may be addressed by numeric ID or by uniqueKey; the uniqueKey returned from award search is accepted directly.

Sharing an opportunity sends one email per recipient rather than one email addressed to everyone. Award and contact shares send a single email when no teams are named; naming any team in email_recipient_groups gives their remaining recipients one email each as well.

A share may send at most 20 emails per request: each team is one email, and each recipient outside a named team is one more. An ungrouped award or contact share is a single send and is not limited.




## OpenAPI

````yaml /openapi/tools-v1.yaml post /api/tools/v1/shares
openapi: 3.1.0
info:
  title: Govly Tools API
  version: 1.0.0-alpha
  description: >
    ALPHA / UNSTABLE: This API is still in active development. Endpoint
    behavior, request fields, response fields, error codes, and operation names
    may change before the Tools API is declared stable.

    REST-callable tool surface for agent and automation workflows. Agents are
    the primary consumer, but integrations can be built on this API. Responses
    are JSON for typed clients; MCP tools may render action results into
    text-oriented formats separately.
servers:
  - url: https://app.govly.com
security:
  - bearerApiKey: []
  - headerApiKey: []
tags:
  - name: Opportunities
    description: Search, fetch, and inspect Govly opportunity records.
  - name: Awards
    description: Search and inspect awarded government contracts.
  - name: Contacts
    description: Search and inspect government points of contact.
  - name: Signals
    description: Search clustered procurement and market intelligence signals.
  - name: Places
    description: Resolve place names to canonical Govly Place ids.
  - name: Product Catalogs
    description: List government contract price lists and search their line items.
  - name: Workspaces
    description: Create, update, and inspect opportunity workspaces.
  - name: Workspace Members
    description: Add users and teams to workspaces.
  - name: Workspace Attachments
    description: List and upload workspace attachments.
  - name: Workspace Comments
    description: Post comments to workspaces.
  - name: Follows
    description: Follow opportunities and related workspace activity.
  - name: Shares
    description: Share opportunities, awards, and contacts with colleagues by email.
  - name: Saved Searches
    description: List saved opportunity searches and cached matches.
  - name: Documents
    description: >-
      Read document representations and request temporary original-file
      downloads.
  - name: Quote Submissions
    description: >-
      Inspect quote submission requirements, submit quotes, and poll submission
      status.
  - name: Inbox
    description: Read and triage the authenticated user's matched inbox items.
paths:
  /api/tools/v1/shares:
    post:
      tags:
        - Shares
      summary: Share an opportunity, award, or contact by email
      description: >
        Send an opportunity, award, or contact to one or more recipients by
        email. Delivery is queued immediately and is at-least-once, so a
        transient failure may redeliver to recipients who already received the
        message.


        Recipients must be Govly users at your own organization, a partner
        organization, or a distributor organization. Addresses outside that set
        are rejected rather than silently dropped, and no email is sent for the
        request.


        The identifier form depends on the type. Opportunities take the numeric
        Govly ID. Awards may be addressed by numeric ID or by uniqueKey; the
        uniqueKey returned from award search is accepted directly.


        Sharing an opportunity sends one email per recipient rather than one
        email addressed to everyone. Award and contact shares send a single
        email when no teams are named; naming any team in email_recipient_groups
        gives their remaining recipients one email each as well.


        A share may send at most 20 emails per request: each team is one email,
        and each recipient outside a named team is one more. An ungrouped award
        or contact share is a single send and is not limited.
      operationId: share_entity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - type
                - id
                - subject
                - recipients
              properties:
                type:
                  type: string
                  enum:
                    - award
                    - contact
                    - opp
                    - opportunity
                  description: >-
                    Entity type to share. opp is accepted as an opportunity
                    alias.
                id:
                  type: string
                  description: >-
                    Govly entity ID. Opportunities take the numeric ID; awards
                    also accept a uniqueKey.
                subject:
                  type: string
                  description: Subject line for the email.
                custom_message:
                  type: string
                  description: Optional note included above the record details.
                recipients:
                  type: array
                  minItems: 1
                  description: Recipients to email.
                  items:
                    type: object
                    required:
                      - email
                    properties:
                      email:
                        type: string
                      name:
                        type: string
                      company:
                        type: string
                email_recipient_groups:
                  type: array
                  description: >
                    Groups recipients already listed above into one email per
                    team. Does not add recipients.
                  items:
                    type: object
                    properties:
                      team_id:
                        type: string
      responses:
        '201':
          description: Recipients the share was sent to
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                        name:
                          type: string
                        company:
                          type: string
                  meta:
                    type: object
                    properties:
                      entityType:
                        type: string
                      entityId:
                        type: string
                      recipientCount:
                        type: integer
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/Error'
components:
  responses:
    Error:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  schemas:
    ErrorEnvelope:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            type: object
            required:
              - status
              - code
              - title
              - detail
            properties:
              status:
                type: string
              code:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
  securitySchemes:
    bearerApiKey:
      type: http
      scheme: bearer
      bearerFormat: API key
    headerApiKey:
      type: apiKey
      in: header
      name: X-API-KEY

````