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

# Retrieve signal executions

> Retrieves a paginated list of signal executions (triggered signals) for a specific prompt within a given time range.



## OpenAPI

````yaml /api/openapi-spec.yaml get /v1/signals/{promptId}/executions
openapi: 3.1.0
info:
  title: Momentum API
  description: >-
    API for managing meetings with attendee and transcript details, and
    retrieving AI signal executions.
  version: 2.0.0
servers:
  - url: https://api.momentum.io
security:
  - ApiKeyAuth: []
tags:
  - name: Meetings
    description: Endpoints for retrieving and managing meetings.
  - name: Users
    description: Endpoints for retrieving organization users.
  - name: Signals V1
    description: AI signal prompts and executions (v1).
  - name: Signals V2
    description: AI signal definitions and executions (v2).
paths:
  /v1/signals/{promptId}/executions:
    get:
      tags:
        - Signals V1
      summary: Retrieve signal executions
      description: >-
        Retrieves a paginated list of signal executions (triggered signals) for
        a specific prompt within a given time range.
      parameters:
        - name: promptId
          in: path
          description: The ID of the signal prompt to retrieve executions for.
          required: true
          schema:
            type: integer
            minimum: 1
        - name: executionFrom
          in: query
          description: >-
            Filter executions starting from this date-time (ISO 8601 format).
            Required.
          required: true
          schema:
            type: string
            format: date-time
        - name: executionTo
          in: query
          description: >-
            Filter executions up to this date-time (ISO 8601 format). Defaults
            to current time if not specified.
          required: false
          schema:
            type: string
            format: date-time
        - name: pageNumber
          in: query
          description: >-
            The page number to retrieve (1-based indexing). Defaults to 1 if not
            specified.
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          description: >-
            The maximum number of executions to return per page. Must be between
            1 and 50. Defaults to 10 if not specified.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 10
        - name: includeCustomInstructions
          in: query
          description: >-
            Whether to include custom instruction outputs (follow-up prompts) in
            the response. Defaults to false.
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: A paginated list of signal executions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  signals:
                    type: array
                    items:
                      $ref: '#/components/schemas/SignalExecution'
                  pageCount:
                    type: integer
                    description: Total number of pages available for the current query.
                required:
                  - signals
                  - pageCount
        '400':
          description: Bad request due to validation errors
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message describing the validation failure
                required:
                  - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Internal server error
                required:
                  - error
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |
            curl --request GET \
              --url 'https://api.momentum.io/v1/signals/42/executions?executionFrom=2025-01-01T00:00:00Z&executionTo=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeCustomInstructions=true' \
              --header 'X-API-Key: YOUR_API_KEY'
        - lang: javascript
          label: JavaScript
          source: |
            const response = await fetch(
              "https://api.momentum.io/v1/signals/42/executions?executionFrom=2025-01-01T00:00:00Z&executionTo=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeCustomInstructions=true",
              {
                headers: { "X-API-Key": "YOUR_API_KEY" },
              }
            );
            const data = await response.json();
        - lang: python
          label: Python
          source: |
            import requests

            response = requests.get(
                "https://api.momentum.io/v1/signals/42/executions",
                headers={"X-API-Key": "YOUR_API_KEY"},
                params={
                    "executionFrom": "2025-01-01T00:00:00Z",
                    "executionTo": "2025-01-31T23:59:59Z",
                    "pageNumber": 1,
                    "pageSize": 10,
                    "includeCustomInstructions": "true",
                },
            )
            data = response.json()
        - lang: go
          label: Go
          source: |
            req, _ := http.NewRequest("GET",
              "https://api.momentum.io/v1/signals/42/executions?executionFrom=2025-01-01T00:00:00Z&executionTo=2025-01-31T23:59:59Z&pageNumber=1&pageSize=10&includeCustomInstructions=true",
              nil)
            req.Header.Set("X-API-Key", "YOUR_API_KEY")
            resp, _ := http.DefaultClient.Do(req)
            defer resp.Body.Close()
            body, _ := io.ReadAll(resp.Body)
components:
  schemas:
    SignalExecution:
      description: >-
        An execution of a signal prompt, triggered by either a meeting or an
        email.
      oneOf:
        - $ref: '#/components/schemas/SignalExecutionMeeting'
        - $ref: '#/components/schemas/SignalExecutionEmail'
      discriminator:
        propertyName: sourceType
        mapping:
          meeting:
            $ref: '#/components/schemas/SignalExecutionMeeting'
          email:
            $ref: '#/components/schemas/SignalExecutionEmail'
    SignalExecutionMeeting:
      description: fields for signal triggered by meeting/call.
      allOf:
        - $ref: '#/components/schemas/SignalExecutionBase'
        - type: object
          properties:
            sourceType:
              type: string
              description: Indicates this signal was triggered by a meeting.
            hostEmail:
              type: string
              nullable: true
              description: Email of the meeting host.
            attendeeEmails:
              type: array
              items:
                type: string
                format: email
              description: List of attendee emails.
          required:
            - sourceType
            - hostEmail
            - attendeeEmails
    SignalExecutionEmail:
      description: fields for signal triggered by email.
      allOf:
        - $ref: '#/components/schemas/SignalExecutionBase'
        - type: object
          properties:
            sourceType:
              type: string
              description: Indicates this signal was triggered by an email.
            emailFrom:
              type: string
              nullable: true
              description: Sender email address.
            emailTo:
              type: array
              items:
                type: string
                format: email
              description: List of recipient email addresses.
            emailCc:
              type: array
              items:
                type: string
                format: email
              description: List of CC email addresses.
            emailBcc:
              type: array
              items:
                type: string
                format: email
              description: List of BCC email addresses.
            emailThreadId:
              type: integer
              nullable: true
              description: Email thread ID.
          required:
            - sourceType
            - emailFrom
            - emailTo
            - emailCc
            - emailBcc
            - emailThreadId
    SignalExecutionBase:
      type: object
      description: Common fields for all signal executions.
      properties:
        signalId:
          type: integer
          description: The ID of the signal prompt that was triggered.
        signalName:
          type: string
          description: The name of the signal that was triggered.
        triggeredAt:
          type: string
          format: date-time
          description: When the signal was triggered.
        sourceId:
          type: string
          description: The ID of the source (meeting ID or email message ID).
        sourceTitle:
          type: string
          nullable: true
          description: The title of the meeting or subject of the email.
        prompt:
          type: string
          description: The prompt text that was used for the signal.
        reason:
          type: string
          nullable: true
          description: The AI-generated reason explaining why the signal was triggered.
        salesforceAccountId:
          type: string
          nullable: true
          description: Associated Salesforce Account ID, if any.
        salesforceAccountName:
          type: string
          nullable: true
          description: Associated Salesforce Account name, if any.
        salesforceOpportunityId:
          type: string
          nullable: true
          description: Associated Salesforce Opportunity ID, if any.
        salesforceOpportunityName:
          type: string
          nullable: true
          description: Associated Salesforce Opportunity name, if any.
        salesforceLeadId:
          type: string
          nullable: true
          description: Associated Salesforce Lead ID, if any.
        salesforceLeadName:
          type: string
          nullable: true
          description: Associated Salesforce Lead name, if any.
        customInstructions:
          type: array
          nullable: true
          description: >-
            Custom instruction outputs from follow-up prompts. Only included
            when includeCustomInstructions=true.
          items:
            $ref: '#/components/schemas/SignalCustomInstruction'
      required:
        - signalId
        - signalName
        - triggeredAt
        - sourceId
        - sourceTitle
        - prompt
        - reason
        - salesforceAccountId
        - salesforceAccountName
        - salesforceOpportunityId
        - salesforceOpportunityName
        - salesforceLeadId
        - salesforceLeadName
    SignalCustomInstruction:
      type: object
      description: >-
        Output from a custom instruction (follow-up prompt). The key is the
        instruction label.
      additionalProperties:
        type: object
        properties:
          prompt:
            type: string
            nullable: true
            description: The prompt text used for this custom instruction.
          generatedText:
            type: string
            nullable: true
            description: The AI-generated output text.
          reason:
            type: string
            nullable: true
            description: The AI-generated reason for this output.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authenticating requests

````