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

# List opportunities



## OpenAPI

````yaml /openapi/peerlogic-api.json get /api/opportunities/
openapi: 3.1.0
info:
  title: Peerlogic API
  version: 1.0.0
  description: >-
    Customer-facing API reference for accessing Peerlogic calls, insights,
    conversations, tasks, opportunities, subscriptions, and events.
servers:
  - url: https://api.prod.peerlogic.com
    description: Production
security: []
tags:
  - name: Authentication
    description: Obtain an access token for authenticated API requests.
  - name: Call insights
    description: Call records and aggregate performance insights.
  - name: Transcripts
    description: Transcripts, summaries, sentiment, pauses, and call-purpose details.
  - name: Aimee
    description: Aimee activity, configuration, and performance insights.
  - name: Conversations
    description: Conversation records, messages, and conversation actions.
  - name: Tasks
    description: Customer tasks and task workflow actions.
  - name: Opportunities
    description: Opportunities and follow-up reporting.
  - name: Subscriptions and events
    description: >-
      Create and manage event subscriptions, then inspect event records and
      analytics. For the complete webhook delivery flow, see the Webhooks and
      subscriptions guide.
  - name: Organizations and practices
    description: >-
      Discover the organizations and practices available to the authenticated
      account.
  - name: Contacts and patients
    description: Find contacts and patients for caller recognition and related workflows.
  - name: Appointments
    description: Retrieve appointment history and upcoming appointments for a patient.
  - name: Messaging
    description: Send practice messages, including missed-call recovery outreach.
  - name: Call recordings
    description: Retrieve recording metadata and secure audio URLs for calls.
paths:
  /api/opportunities/:
    parameters: []
    get:
      tags:
        - Opportunities
      summary: List opportunities
      operationId: opportunities_list
      parameters:
        - name: id
          in: query
          description: id
          required: false
          schema:
            type: string
        - name: originating_call_id
          in: query
          description: originating_call_id
          required: false
          schema:
            type: string
        - name: resolving_call_id
          in: query
          description: resolving_call_id
          required: false
          schema:
            type: string
        - name: trigger_type
          in: query
          description: trigger_type
          required: false
          schema:
            type: string
            enum:
              - missed_call
              - missed_call_existing_patient
              - missed_call_cancellation_reschedule
              - missed_call_current_appointment
              - missed_call_non_business
              - missed_call_business
              - high_value_missed_call
              - connected_call
              - connected_call_existing_patient
              - connected_call_new_patient
              - connected_call_high_value
              - lost_opportunity
              - lost_opportunity_new_patient
              - lost_opportunity_existing_patient
              - lost_opportunity_high_value
              - aimee_escalation
              - aimee_booked
              - aimee_reschedule
              - aimee_cancellation
              - aimee_inbound_message
              - extracted_opportunity
              - care_task_handed_off
              - voip_integration_disconnect
              - ehr_integration_disconnect
              - fax_inbound_received
              - fax_outbound_failed
        - name: is_open
          in: query
          description: is_open
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: status
          required: false
          schema:
            type: string
            enum:
              - success
              - failure
              - omitted
        - name: opportunity_origin_type
          in: query
          description: opportunity_origin_type
          required: false
          schema:
            type: string
            enum:
              - call_connected
              - call_missed
              - message_received
              - voicemail_received
        - name: originating_call__call_start_time
          in: query
          description: originating_call__call_start_time
          required: false
          schema:
            type: string
        - name: originated_at
          in: query
          description: originated_at
          required: false
          schema:
            type: string
        - name: is_followed_up
          in: query
          description: is_followed_up
          required: false
          schema:
            type: string
        - name: has_any_follow_up
          in: query
          description: has_any_follow_up
          required: false
          schema:
            type: string
        - name: practice_id
          in: query
          description: practice_id
          required: true
          schema:
            type: string
        - name: sort
          in: query
          description: Which field to use when ordering the results.
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          schema:
            type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Successful response for list opportunities.
          content:
            application/json:
              schema:
                required:
                  - count
                  - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          title: Id
                          type: string
                          readOnly: true
                          minLength: 1
                        created_at:
                          title: Created at
                          type: string
                          format: date-time
                          readOnly: true
                        modified_at:
                          title: Modified at
                          type: string
                          format: date-time
                          readOnly: true
                        followed_up_at:
                          title: Followed up at
                          type: string
                          format: date-time
                          readOnly: true
                          nullable: true
                        is_open:
                          title: Is open
                          type: boolean
                        status:
                          title: Status
                          type: string
                          enum:
                            - success
                            - failure
                            - omitted
                          nullable: true
                        trigger_type:
                          title: Trigger type
                          type: string
                          enum:
                            - missed_call
                            - missed_call_existing_patient
                            - missed_call_cancellation_reschedule
                            - missed_call_current_appointment
                            - missed_call_non_business
                            - missed_call_business
                            - high_value_missed_call
                            - connected_call
                            - connected_call_existing_patient
                            - connected_call_new_patient
                            - connected_call_high_value
                            - lost_opportunity
                            - lost_opportunity_new_patient
                            - lost_opportunity_existing_patient
                            - lost_opportunity_high_value
                            - aimee_escalation
                            - aimee_booked
                            - aimee_reschedule
                            - aimee_cancellation
                            - aimee_inbound_message
                            - extracted_opportunity
                            - care_task_handed_off
                            - voip_integration_disconnect
                            - ehr_integration_disconnect
                            - fax_inbound_received
                            - fax_outbound_failed
                          readOnly: true
                        opportunity_origin_type:
                          title: Opportunity origin type
                          type: string
                          enum:
                            - call_connected
                            - call_missed
                            - message_received
                            - voicemail_received
                          readOnly: true
                        originated_at:
                          title: Originated at
                          type: string
                          format: date-time
                          readOnly: true
                        originating_call_id:
                          title: Originating call id
                          type: string
                          readOnly: true
                        resolving_call_id:
                          title: Resolving call id
                          type: string
                          readOnly: true
                        has_any_follow_up:
                          title: Has any follow up
                          type: boolean
                          readOnly: true
        '400':
          description: The request parameters or body are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              example:
                sort:
                  - Select a valid choice.
        '401':
          description: Authentication is required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
              example:
                detail: '''Authorization'' header is required'
        '403':
          description: >-
            The authenticated account does not have permission to perform this
            operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionError'
              example:
                message: No permissions assigned to permit access to this endpoint.
      security:
        - bearerAuth: []
components:
  schemas:
    ValidationError:
      title: Validation error
      type: object
      additionalProperties: true
      description: Validation details keyed by the invalid field or grouped under `errors`.
    AuthenticationError:
      title: Authentication error
      type: object
      additionalProperties: true
      required:
        - detail
      properties:
        detail:
          type: string
          description: Why authentication failed.
    PermissionError:
      title: Permission error
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
          description: Why access was denied.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token issued by Peerlogic.

````

## Related topics

- [List events](/peerlogic-api-reference/subscriptions-and-events/list-events.md)
- [List conversations](/peerlogic-api-reference/conversations/list-conversations.md)
- [List subscriptions](/peerlogic-api-reference/subscriptions-and-events/list-subscriptions.md)
- [List calls](/peerlogic-api-reference/call-insights/list-calls.md)
- [List missed inbound calls](/peerlogic-api-reference/call-insights/list-missed-inbound-calls.md)


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