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

# Dismiss pending TIL requests without a decision

> Closes pending agent requests with status DISMISSED, for clearing a backlog of old requests. Nothing is approved and the paused agent run is not resumed, so no agent runs and nothing is written to the ticket; a reject resumes one run per request. Teams and Slack cards are left as they are, and a later tap answers that the request is resolved. Give `request_ids` (at most 500), or `created_before` to reach every pending request created up to then, narrowed by `created_after`, `agent_id` and `approver`. `dry_run: true` returns the count and changes nothing. Dispatch and RMM-script requests are never dismissed; approve or reject those. Current tenant only. Tenant admins and an API key with no acting person reach every request in the tenant. Anyone else, including the Neo Support agent acting for a technician, reaches only the requests sent to them and those raised in their own chat; any other request answers 404, as a request in another tenant does.



## OpenAPI

````yaml https://api.neoagent.io/public-api/openapi.json post /public-api/til-requests/dismiss
openapi: 3.1.0
info:
  description: >-
    Neo's public contract for the dashboard ChatAgent, partner integrations, and
    MSP automation. Every response is wrapped in a `{data, meta}` envelope;
    errors use `{error: {code, message, details?}, meta: {request_id}}`.
    Authenticate with a `Bearer neo_sk_<env>_<secret>` API key (service account)
    or a Microsoft Entra ID JWT (dashboard user). Signed-URL endpoints (end-user
    feedback links) take a `signature` query parameter instead.
  title: Neo Public API
  version: 1.0.0
servers:
  - url: https://api.neoagent.io
security: []
tags:
  - description: Service metadata — health, OpenAPI.
    name: Meta
  - description: Agents and workflows — read, version history, delete, stats.
    name: Agents
  - description: Agent/workflow execution history, sub-resources, retry/cancel.
    name: Executions
  - description: >-
      Every tool call the tenant's agents made in the last 30 days, within the
      caller's workflow access.
    name: Audit Log
  - description: PSA webhook events and their workflow-match results.
    name: Callbacks
  - description: Technician-in-the-loop approval requests.
    name: TIL requests
  - description: RMM script executions triggered by agents.
    name: RMM scripts
  - description: Dispatch-agent field-update decisions.
    name: Dispatch
  - description: The authenticated tenant.
    name: Tenant
  - description: Agent-builder schema catalogs (raw JSON payloads).
    name: Schemas
  - description: Escalate to the Neo team (HubSpot ticket).
    name: Escalation
  - description: Tenant settings.
    name: Settings
  - description: Tenant API-key management (dashboard JWT only).
    name: API keys
  - description: End-user feedback links (signed-URL auth).
    name: Feedback
  - description: End-client companies (CRUD + bulk-update).
    name: End companies
  - description: Channels — bind a CONVERSATIONAL agent to a transport (Teams or Slack).
    name: Channels
  - description: PSA/RMM/M365 integration status and connection management.
    name: Integrations
  - description: Technician roster (controls TIL routing and paging).
    name: Technicians
  - description: Future runs queued for TRIGGERED agents.
    name: Scheduled work
  - description: Subscription state and customer-facing credit usage (no provider $).
    name: Billing
  - description: Inbox messages and announcements.
    name: Inbox & Comms
  - description: Tenant-authored agent skills (CRUD) and the built-in skill catalog.
    name: Skills
paths:
  /public-api/til-requests/dismiss:
    post:
      tags:
        - TIL requests
      summary: Dismiss pending TIL requests without a decision
      description: >-
        Closes pending agent requests with status DISMISSED, for clearing a
        backlog of old requests. Nothing is approved and the paused agent run is
        not resumed, so no agent runs and nothing is written to the ticket; a
        reject resumes one run per request. Teams and Slack cards are left as
        they are, and a later tap answers that the request is resolved. Give
        `request_ids` (at most 500), or `created_before` to reach every pending
        request created up to then, narrowed by `created_after`, `agent_id` and
        `approver`. `dry_run: true` returns the count and changes nothing.
        Dispatch and RMM-script requests are never dismissed; approve or reject
        those. Current tenant only. Tenant admins and an API key with no acting
        person reach every request in the tenant. Anyone else, including the Neo
        Support agent acting for a technician, reaches only the requests sent to
        them and those raised in their own chat; any other request answers 404,
        as a request in another tenant does.
      operationId: public_api.til_requests_dismiss_post
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TilDismissRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TilDismissResponse'
                  meta:
                    $ref: '#/components/schemas/SuccessMeta'
                required:
                  - data
                  - meta
                type: object
          description: Success.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Bad request — malformed input.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Unauthenticated — missing or invalid credentials.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Forbidden — authenticated but not allowed.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Not found.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Conflict — the resource is in a state that blocks this operation.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Request validation failed.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Rate limited — see Retry-After.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Internal server error.
      security:
        - bearerAuth: []
components:
  schemas:
    TilDismissRequest:
      description: >-
        Close pending agent requests without a decision. Name the requests with
        `request_ids`, or

        reach every pending request created up to `created_before`, narrowed by
        the other filters.
      properties:
        agent_id:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Only requests raised by this agent.
          title: Agent Id
        approver:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Only requests sent to this approver. Honored for admins and API
            callers; a non-admin always reaches only their own requests.
          title: Approver
        created_after:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: Only requests created at or after this ISO-8601 timestamp.
          title: Created After
        created_before:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: >-
            Dismiss pending requests created at or before this ISO-8601
            timestamp. Needed when `request_ids` is not given.
          title: Created Before
        dry_run:
          default: false
          description: Count the requests this call would dismiss, and change nothing.
          title: Dry Run
          type: boolean
        note:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Why the requests were dismissed; stored on each one.
          title: Note
        request_ids:
          anyOf:
            - items:
                type: integer
              maxItems: 500
              minItems: 1
              type: array
            - type: 'null'
          default: null
          description: >-
            The requests to dismiss, in the caller's own tenant. At most 500
            ids.
          title: Request Ids
      title: TilDismissRequest
      type: object
    TilDismissResponse:
      properties:
        dismissed_count:
          title: Dismissed Count
          type: integer
        dry_run:
          title: Dry Run
          type: boolean
      required:
        - dismissed_count
        - dry_run
      title: TilDismissResponse
      type: object
    SuccessMeta:
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        request_id:
          format: uuid
          type: string
        timings_ms:
          additionalProperties:
            type: number
          type: object
        warnings:
          description: >-
            Non-fatal warnings about the created/updated resource (e.g. an
            unhealthy PSA callback).
          items:
            type: string
          type: array
      required:
        - request_id
        - timings_ms
      type: object
    ErrorEnvelope:
      properties:
        error:
          properties:
            code:
              description: Stable machine-readable error code.
              type: string
            details:
              additionalProperties: true
              type: object
            message:
              type: string
          required:
            - code
            - message
          type: object
        meta:
          properties:
            request_id:
              format: uuid
              type:
                - string
                - 'null'
          type: object
      required:
        - error
        - meta
      type: object
    Pagination:
      properties:
        has_more:
          type: boolean
        next_cursor:
          type:
            - string
            - 'null'
      required:
        - next_cursor
        - has_more
      type: object
  securitySchemes:
    bearerAuth:
      description: >-
        `Authorization: Bearer <token>` where `<token>` is either a
        `neo_sk_<env>_<secret>` API key (service account) or a Microsoft Entra
        ID access token (dashboard user).
      scheme: bearer
      type: http

````

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