---
title: "Send a test payload to an output destination"
method: POST
path: "/api/output-destinations/{destinationId}/test"
tags: ["Output Destinations"]
---

# Send a test payload to an output destination

`POST /api/output-destinations/{destinationId}/test`

## Request

- Base URL: `https://app.cotool.ai`
- URL: `https://app.cotool.ai/api/output-destinations/{destinationId}/test`
- Auth: HTTP bearer

Deliver an example payload to a single output destination so the configuration can be verified. The send is real and may create a message/incident/issue/case in the destination.

## Path parameters

- `destinationId` string, uuid, required

## Request body

- object
  - `outputType` 'detection' | 'response' | 'acceptance-criteria' | 'threat-intel' | 'threat' | 'hunt-alert' | 'alert-escalation' | 'code-detection-auto-tune' | 'ingest-health', required: The context the destination is configured in; determines the example payload shape and formatting
  - `payload` union, required: A JSON value (string, number, boolean, null, array, or object)
    - string
    - number
    - boolean
    - JsonValue[]
    - object
  - `structuredOutputSchema` CotoolJsonSchema: A JSON Schema definition with Cotool-specific extensions for structured output presets
    - `type` 'string' | 'number' | 'boolean' | 'null' | 'object' | 'array', required
    - `title` string
    - `description` string
    - `properties` object
    - `items` CotoolJsonSchema (recursive)
    - `minItems` integer
    - `maxItems` integer
    - `required` string[]
    - `enum` string[]
    - `additionalProperties` boolean
    - `x-cotool` object
      - `presetId` 'classification' | 'markdown' | 'templatedReport' | 'toolCallEvidence'
      - `viewerId` string
  - `agentName` string: For the response context on non-webhook destinations: the agent name shown in the message header

## Response `200`

Successful response

- object
  - `success` true, required: Whether the test output was delivered
  - `destinationType` 'webhook' | 'teams' | 'slack' | 'pagerduty' | 'linear' | 'tines' | 'incidentio', required: Type of destination the test was sent to
  - `detail` string: Optional human-readable detail about the delivery (e.g. created issue identifier)
  - `outputUrl` string, uri: Direct URL to the created output when the destination provides one
  - `outputLinkLabel` string: Human-readable label for the created output link

## Other responses

- `400`: Bad request — input validation failed or the request was malformed
- `401`: Unauthorized — missing or invalid API key / session
- `403`: Forbidden — the authenticated user lacks the required permissions
- `500`: Internal server error

---

[API](https://skmtc.dev/cotool/apis/cotool-api.md) - [All operations](https://skmtc.dev/cotool/apis/cotool-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cotool/apis/cotool-api/revisions/f5abe0add203?raw)
