# Letterdrop Integration via LowCodeAPI

**Last Updated**: February 11, 2026

## Overview

Content marketing platform

The Letterdrop API provides access to:

- **Content Management** - Related functionality

## Base Endpoint

```
https://api.lowcodeapi.com/letterdrop/
```

**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [Letterdrop](https://letterdrop.com/)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your provider credentials (API keys, OAuth tokens, etc.)
- Apply them to each request
- Handle token refresh for OAuth providers

**Auth Type**: TOKEN

## URL Format (Important)

LowCodeAPI supports **two URL formats** for endpoints with path parameters. **Always try New Format first**, and only fall back to Old Format if it doesn't work.

### New Format (Priority) - Dynamic Path Parameters

- **Path parameters stay in the URL path** - Do NOT convert to query parameters
- **Provider name is always in the URL path** after `api.lowcodeapi.com/`
- Pattern: `https://api.lowcodeapi.com/{provider}/{path_with_params}?api_token={api_token}`

**Example**:
```bash
# New Format - Path parameter stays in the URL path
https://api.lowcodeapi.com/letterdrop/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN
```

### Old Format (Fallback) - Sanitized Path + Query Parameters

- **Path parameters become query parameters**
- **Provider name is always in the URL path**
- Pattern: `https://api.lowcodeapi.com/{provider}/{sanitized_path}?{path_params}&api_token={api_token}`

**Example**:
```bash
# Old Format - Path parameter becomes a query parameter
https://api.lowcodeapi.com/letterdrop/resource/id?id=RESOURCE_ID&api_token=YOUR_API_TOKEN
```

### Decision Flow for AI Agents

1. Always use **New Format first** - Keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider

## API Categories

- **Letterdrop API** - 6 endpoints
- **LinkedIn Social Selling** - 2 endpoints

## Common Endpoints

### Category: Letterdrop API

#### List posts

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/posts`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/posts?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/posts?api_token={api_token}
```

**Description**: Get a summary of all your posts to be displayed on your home page

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | number | No | Number of postss to return |
| `offset` | number | No | Index of first post to return |
| `query` | string | No | Search for posts containing these words |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/posts?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [List posts](https://docs.letterdrop.com/api#list-posts)

---

#### Get post

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/post/get/:{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/post/get/:{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/post/get/id?id={id}&api_token={api_token}
```

**Description**: Get a single post

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The of the post |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/post/get/:{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Get post](https://docs.letterdrop.com/api#get-post)

---

#### Draft post

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/post/draft`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/post/draft?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/post/draft?api_token={api_token}
```

**Description**: Draft a post

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `html` | string | No | Body of your post in HTML format |
| `subtitle` | string | No | Subtitle of your post |
| `title` | string | No | Title of your post |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/post/draft?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Draft post](https://docs.letterdrop.com/api#draft-post)

---

#### Get project

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/project/get/:{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/project/get/:{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/project/get/id?id={id}&api_token={api_token}
```

**Description**: Get project details

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The of the project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/project/get/:{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Get project](https://docs.letterdrop.com/api#get-project)

---

#### Create idea

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/idea/new`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/idea/new?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/idea/new?api_token={api_token}
```

**Description**: Create a new idea

**Request Body**:
```json
{
  "suggestedBy": "<string>",
  "title": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `description` | string | No | Description of the idea. This is where your content brief goes. |
| `keyword` | string | No | Keyword associated with the idea |
| `labels` | array | No | List of labels |
| `suggestedBy` | string | Yes | Email address of the person who suggested the idea |
| `title` | string | Yes | Idea title |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/idea/new?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Create idea](https://docs.letterdrop.com/api#create-idea)

---

#### Assign idea

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/idea/assign`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/idea/assign?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/idea/assign?api_token={api_token}
```

**Description**: Create a project from an idea

**Request Body**:
```json
{
  "id": "<string>",
  "publishOn": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `approvers` | array | No | List of emails of approvers |
| `assignedTo` | string | No | Email address of the user writing the content. |
| `id` | string | Yes | Idea ID |
| `publishOn` | string | Yes | Date you want to target publishing your content. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/idea/assign?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Assign idea](https://docs.letterdrop.com/api#assign-idea)

---

### Category: LinkedIn Social Selling

#### Like a post or comment on LinkedIn

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/social-selling/like`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/social-selling/like?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/social-selling/like?api_token={api_token}
```

**Description**: Automatically like LinkedIn post from connected accounts

**Request Body**:
```json
{
  "url": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `groups` | array | No | Name of group to like from. |
| `reactionType` | string | No | One of 'like', 'celebrate', 'support', 'love', 'insightful' and 'funny' |
| `url` | string | Yes | URL of LinkedIn post or comment |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/social-selling/like?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Like a post or comment on LinkedIn](https://docs.letterdrop.com/social-selling/linkedin-social-selling#like-a-post-or-comment-on-linkedin)

---

#### Request a comment on a post or comment on LinkedIn

**Method**: `POST` | **LowCodeAPI Path**: `{endpoint}/v1/social-selling/request-comment`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/letterdrop{endpoint}/v1/social-selling/request-comment?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/letterdrop/v1/social-selling/request-comment?api_token={api_token}
```

**Description**: Automatically like LinkedIn post from connected accounts

**Request Body**:
```json
{
  "url": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `groups` | array | No | Name of group to request a comment from. Eg: ['sales', 'execs'] |
| `url` | string | Yes | URL of LinkedIn post or comment |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/letterdrop{endpoint}/v1/social-selling/request-comment?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Request a comment on a post or comment on LinkedIn](https://docs.letterdrop.com/social-selling/linkedin-social-selling#request-a-comment-on-a-post-or-comment-on-linkedin)

---

## API Definition Endpoints

You can retrieve the complete OpenAPI specification for this provider using these endpoints:

**New Format (OpenAPI spec with dynamic path parameters):**
```bash
curl -X GET "https://backend.lowcodeapi.com/letterdrop/openapi"
```

**Old Format (API definition with sanitized paths):**
```bash
curl -X GET "https://backend.lowcodeapi.com/letterdrop/definition"
```

## Response Format

All responses from LowCodeAPI are wrapped in a `data` key:

```json
{
  "data": {
    // Actual response from provider API
  }
}
```

The `data` key contains the raw response from the provider's API.

## Complete Endpoint Reference

For a complete list of all 8 endpoints, refer to the official provider documentation.

**Official Provider Documentation**: https://docs.letterdrop.com/api

## Usage Examples

### Example 1: Basic API Request (New Format)

Making a simple request to Letterdrop:

```bash
# Replace RESOURCE_ID with an actual resource ID from your Letterdrop account
curl -X GET "https://api.lowcodeapi.com/letterdrop/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN"
```

### Example 2: Request with Query Parameters (New Format)

Request with specific parameters:

```bash
# Include query parameters for filtering
curl -X GET "https://api.lowcodeapi.com/letterdrop/resources?filter=value&api_token=YOUR_API_TOKEN"
```

## Error Handling

Standard HTTP status codes apply. All responses are wrapped in a `data` key:
```json
{
  "data": {
    // Actual response from provider
  }
}
```