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

# Delete Post

> Delete a publisher post

> **For AI agents:** a documentation index is at [/llms.txt](/llms.txt). Every page is also available as markdown, just append `.md` to the URL.

## Overview

Delete a publisher post. Scheduled posts will have their schedule automatically cancelled. Posts that are currently processing cannot be deleted.

## Rate Limiting

This endpoint is rate limited to 10 requests per minute per API key.

<Note>
  Cannot delete posts that are currently processing. Scheduled posts will have their schedule cancelled automatically.
</Note>

## Response

<ResponseField name="postId" type="string">
  ID of the deleted post
</ResponseField>

<ResponseField name="deleted" type="boolean">
  Always `true` on success
</ResponseField>

## Example Request

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X DELETE "https://public.reap.video/api/v1/automation/delete-post?postId=67b1c2d3e4f5a6b7c8d9e0f1" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json"
  ```

  ```javascript JavaScript theme={"system"}
  const postId = '67b1c2d3e4f5a6b7c8d9e0f1';
  const response = await fetch(`https://public.reap.video/api/v1/automation/delete-post?postId=${postId}`, {
    method: 'DELETE',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  });

  const data = await response.json();
  console.log(`Deleted: ${data.deleted}`);
  ```

  ```python Python theme={"system"}
  import requests

  headers = {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
  }

  post_id = '67b1c2d3e4f5a6b7c8d9e0f1'
  response = requests.delete(
      f'https://public.reap.video/api/v1/automation/delete-post?postId={post_id}',
      headers=headers
  )

  data = response.json()
  print(f"Deleted: {data['deleted']}")
  ```

  ```php PHP theme={"system"}
  <?php
  $postId = '67b1c2d3e4f5a6b7c8d9e0f1';
  $ch = curl_init('https://public.reap.video/api/v1/automation/delete-post?postId=' . $postId);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'Authorization: Bearer YOUR_API_KEY',
      'Content-Type: application/json'
  ]);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($ch);
  curl_close($ch);
  $data = json_decode($response, true);
  echo 'Deleted: ' . ($data['deleted'] ? 'true' : 'false') . "\n";
  ?>
  ```

  ```go Go theme={"system"}
  package main
  import (
      "encoding/json"
      "fmt"
      "io/ioutil"
      "net/http"
  )
  type DeleteResponse struct {
      PostID  string `json:"postId"`
      Deleted bool   `json:"deleted"`
  }
  func main() {
      postId := "67b1c2d3e4f5a6b7c8d9e0f1"
      url := fmt.Sprintf("https://public.reap.video/api/v1/automation/delete-post?postId=%s", postId)
      req, _ := http.NewRequest("DELETE", url, nil)
      req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
      req.Header.Set("Content-Type", "application/json")
      client := &http.Client{}
      resp, _ := client.Do(req)
      defer resp.Body.Close()
      body, _ := ioutil.ReadAll(resp.Body)
      var result DeleteResponse
      json.Unmarshal(body, &result)
      fmt.Printf("Post %s deleted: %t\n", result.PostID, result.Deleted)
  }
  ```

  ```java Java theme={"system"}
  import java.io.*;
  import java.net.HttpURLConnection;
  import java.net.URL;
  public class DeletePostExample {
      public static void main(String[] args) throws Exception {
          String postId = "67b1c2d3e4f5a6b7c8d9e0f1";
          URL url = new URL("https://public.reap.video/api/v1/automation/delete-post?postId=" + postId);
          HttpURLConnection conn = (HttpURLConnection) url.openConnection();
          conn.setRequestMethod("DELETE");
          conn.setRequestProperty("Authorization", "Bearer YOUR_API_KEY");
          conn.setRequestProperty("Content-Type", "application/json");
          BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
          StringBuilder response = new StringBuilder();
          String responseLine;
          while ((responseLine = br.readLine()) != null) {
              response.append(responseLine.trim());
          }
          System.out.println(response.toString());
      }
  }
  ```
</CodeGroup>

## Example Response

<CodeGroup>
  <CodeGroup.Tab label="200 OK">
    ```json theme={"system"}
    {
      "postId": "67b1c2d3e4f5a6b7c8d9e0f1",
      "deleted": true
    }
    ```
  </CodeGroup.Tab>

  <CodeGroup.Tab label="400 Bad Request">
    ```json theme={"system"}
    {
      "detail": "Cannot delete a post that is currently processing"
    }
    ```
  </CodeGroup.Tab>

  <CodeGroup.Tab label="404 Not Found">
    ```json theme={"system"}
    {
      "detail": "Post not found"
    }
    ```
  </CodeGroup.Tab>

  <CodeGroup.Tab label="401 Unauthorized">
    ```json theme={"system"}
    {
      "detail": "Unauthorized - Invalid or missing API key"
    }
    ```
  </CodeGroup.Tab>

  <CodeGroup.Tab label="429 Too Many Requests">
    ```json theme={"system"}
    {
      "detail": "Too Many Requests - Rate limit of 10 requests per minute exceeded"
    }
    ```
  </CodeGroup.Tab>
</CodeGroup>


## OpenAPI

````yaml DELETE /automation/delete-post
openapi: 3.1.0
info:
  title: Reap Automation API
  description: AI-powered video processing automation API
  version: 1.0.0
servers:
  - url: https://public.reap.video/api/v1
security:
  - bearerAuth: []
paths:
  /automation/delete-post:
    delete:
      summary: Delete Post
      description: Delete a post and cancel its schedule
      operationId: deletePost
      parameters:
        - $ref: '#/components/parameters/postId'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePostResponse'
components:
  parameters:
    postId:
      name: postId
      in: query
      required: true
      schema:
        type: string
      description: Unique identifier of the post
  schemas:
    DeletePostResponse:
      type: object
      properties:
        postId:
          type: string
        deleted:
          type: boolean
          default: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````