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

# Reject Meeting Agent Results

> Withholds the results of a meeting held for compliance review. Only a meeting whose status is success and whose review_status is pending can be rejected. Nothing is released: the owner sees that their compliance team did not release the results, and no result email is sent. A rejection is final and cannot be approved later. No request body is required. The API key's user must be a compliance viewer in the meeting owner's organization.

Withhold the results of a meeting held for compliance review. Nothing is released:
the owner sees that the meeting is unavailable following compliance review, and no
result email is sent. A rejection is final; the meeting cannot be approved afterwards. There
is no field for a reason.

Use the booking UUID returned by the Meeting Agent API, not the meeting provider's
join ID. No request body is required for an organization API key.

```bash theme={null}
curl --request POST \
  'https://api.linqalpha.com/v1/meetings/<meeting_id>/reject' \
  --header 'x-api-key: <your-api-key>'
```

```json theme={null}
{
  "error": null,
  "payload": {
    "data": {
      "id": "6f1a0f6e-8e0c-4c7e-9d2b-3c9c6f5a1b2c",
      "status": "success",
      "review_status": "rejected"
    }
  }
}
```

A meeting can be rejected under the same conditions as it can be approved: its
`review_status` is `pending` and its `status` is `success`. To list the meetings
waiting for a decision, use `GET /v1/meetings?status=success&review_status=pending`.

The user associated with your API key must have compliance-viewer access in the
meeting owner's organization, otherwise the request returns
`403 MEETING_REVIEW_NOT_PERMITTED`. Unknown meetings and meetings outside your
organization return `404 MEETING_NOT_FOUND`.

A meeting that is not waiting for a decision returns `409 MEETING_NOT_REVIEWABLE`:
it was already approved or rejected, its recording has not finished successfully, or
its content is past its retention period.

If the response is lost, or the API returns `503 MEETING_REVIEW_UNAVAILABLE` or
`502 MEETING_REVIEW_FAIL`, fetch the meeting using `GET /v1/meetings/{meeting_id}`
before retrying. If its `review_status` is already `rejected`, no further request is
needed. Organization rate limits also apply (`429`).

For platform API keys, supply the same `organization_id`, `user_id`, and `user_email`
identity selectors used when booking, as query parameters. `user_id` is your external
customer user identifier, not LinqAlpha's internal user UUID.


## OpenAPI

````yaml POST /v1/meetings/{meeting_id}/reject
openapi: 3.0.1
info:
  title: LinqAlpha API
  description: >-
    Linq helps finance professionals make informed decisions using
    Retrieval-Augmented Generation (RAG)-enhanced answers. By leveraging
    cutting-edge Large Language Models (LLM) and supplementary technology, Linq
    provides the most optimized responses based on your queries.
  version: 1.0.0
  license:
    name: MIT
servers:
  - url: https://api.linqalpha.com
security:
  - ApiKeyAuth: []
tags:
  - name: Meeting Agent
    description: Book and manage meeting recording agents
  - name: Search
    description: Search and generate responses
  - name: Data
    description: Data retrieval and mapping
  - name: Feedback
    description: Conversation feedback
  - name: RMS
    description: Research Management System
  - name: Source Management
    description: Source batch and file management
  - name: MCP
    description: >-
      LinqAlpha MCP — Financial data tools for AI assistants via Model Context
      Protocol
  - name: Connectors
    description: Customer Connectors — customer-owned MCP connector management
  - name: Briefing
    description: Briefing Agent — automated market briefings with scheduling and delivery
  - name: Status
    description: Sync status — check organization, document, and container sync progress
paths:
  /v1/meetings/{meeting_id}/reject:
    post:
      tags:
        - Meeting Agent
      summary: Reject a meeting held for compliance review
      description: >-
        Withholds the results of a meeting held for compliance review. Only a
        meeting whose status is success and whose review_status is pending can
        be rejected. Nothing is released: the owner sees that their compliance
        team did not release the results, and no result email is sent. A
        rejection is final and cannot be approved later. No request body is
        required. The API key's user must be a compliance viewer in the meeting
        owner's organization.
      operationId: rejectMeetingAgentReview
      parameters:
        - name: meeting_id
          in: path
          required: true
          description: >-
            Booking UUID returned by the Meeting Agent API, not the provider
            join ID.
          schema:
            type: string
            format: uuid
        - name: organization_id
          in: query
          required: false
          description: 'Platform keys: organization selected when booking.'
          schema:
            type: string
        - name: user_id
          in: query
          required: false
          description: >-
            Platform keys: external customer user identifier selected when
            booking (not an internal UUID).
          schema:
            type: string
        - name: user_email
          in: query
          required: false
          description: 'Platform keys: email for the selected customer user.'
          schema:
            type: string
      responses:
        '200':
          description: Rejection recorded; the results stay withheld.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingAgentReviewResponse'
        '400':
          description: Invalid meeting UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: >-
            MEETING_REVIEW_NOT_PERMITTED: the API key's user is not a compliance
            viewer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: >-
            MEETING_NOT_FOUND: unknown meeting, or a meeting outside the API
            key's organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: >-
            MEETING_NOT_REVIEWABLE: the meeting is not waiting for a decision.
            It was already approved or rejected, its recording has not finished
            successfully, or its content is past retention.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '429':
          description: Organization rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '502':
          description: >-
            MEETING_REVIEW_FAIL: the decision could not be confirmed. Fetch the
            meeting before retrying.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: >-
            MEETING_REVIEW_UNAVAILABLE: the decision could not be confirmed, or
            upstream timed out. Fetch the meeting before retrying.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
components:
  schemas:
    MeetingAgentReviewResponse:
      type: object
      required:
        - error
        - payload
      properties:
        error:
          nullable: true
          description: Null on success.
        payload:
          type: object
          required:
            - data
          properties:
            data:
              type: object
              required:
                - id
                - status
                - review_status
              properties:
                id:
                  type: string
                  format: uuid
                status:
                  type: string
                  nullable: true
                  description: The meeting's status, reported as is.
                review_status:
                  type: string
                  enum:
                    - approved
                    - rejected
                  description: The decision just recorded.
    ApiErrorResponse:
      type: object
      description: Standard error response wrapper
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        payload:
          description: Always null for error responses
          nullable: true
      required:
        - error
        - payload
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: >-
            Error code indicating the type of error. Common codes:

            - Authentication: `API_KEY_MISSING`, `INVALID_API_KEY`

            - Validation: `INVALID_REQUEST_BODY`, `ORGANIZATION_ID_MISSING`,
            `TICKERS_MISSING`, `CHAT_MESSAGE_ID_MISSING`, `DOCUMENT_ID_MISSING`

            - Service: `SEARCH_FAIL`, `TTS_FAIL`, `CREATE_CONV_FAIL`,
            `GET_STOCK_FAIL`, `CREATE_MSG_FAIL`, `ALPHA_COMP_FAIL`,
            `GET_REF_FAIL`

            - Connectors: `CONNECTOR_LIST_FAIL`, `CONNECTOR_NOT_FOUND`,
            `CONNECTOR_CREATE_FAIL`, `CONNECTOR_UPDATE_FAIL`,
            `CONNECTOR_DELETE_FAIL`, `CONNECTOR_TEST_FAIL`

            - Not Found: `NOT_FOUND`

            - Meeting cancellation: `MEETING_NOT_FOUND`,
            `MEETING_NOT_CANCELABLE`, `MEETING_CANCEL_REASON_REQUIRED`,
            `MEETING_CANCEL_UNAVAILABLE`, `MEETING_CANCEL_FAIL`

            - Meeting compliance review: `MEETING_NOT_FOUND`,
            `MEETING_REVIEW_NOT_PERMITTED`, `MEETING_NOT_REVIEWABLE`,
            `MEETING_REVIEW_UNAVAILABLE`, `MEETING_REVIEW_FAIL`

            - Transcriptions: `TRANSCRIPTION_UPLOAD_FAIL`,
            `TRANSCRIPTION_SUBMIT_FAIL`, `TRANSCRIPTION_GET_FAIL`,
            `TRANSCRIPTION_NOT_FOUND`, `TRANSCRIPTION_REQUEST_INVALID`,
            `TRANSCRIPTION_RESULT_UNAVAILABLE` (503, poll again),
            `TRANSCRIPTION_SUBMIT_UNAVAILABLE` (503, submit again with the same
            Idempotency-Key)
          example: INVALID_REQUEST_BODY
        msg:
          type: string
          description: Error message (deprecated, use `message` instead)
          example: query is required and must be a string
        message:
          type: string
          description: Error message providing more details about the error
          example: query is required and must be a string
      required:
        - code
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````

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