PodPitch

Find relevant podcasts without an account. Connect PodPitch for private campaigns and outreach.

사용해야 할까요

품질 및 안전성

A
설명 품질
91%
스키마 완전성
71%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'archive_profile' description lacks action verbarchive_profile에서
  • LOWTool 'unarchive_profile' description lacks action verbunarchive_profile에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~11,568토큰 (도구 정의)
~2.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 9.04%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "podpitch": {
      "url": "https://api.podpitch.com/v1/mcp"
    }
  }
}

원격 엔드포인트

https://api.podpitch.com/v1/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (51)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪report_agent_bug(body)

Record a minimal technical PodPitch failure without an account. Report concrete tool failures once. Exclude credentials, personal data, pitches and conversations. Respect client approval. Returns a persisted report ID.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "tool_name": {
          "maxLength": 120,
          "minLength": 1,
          "title": "Tool Name",
          "type": "string"
        },
        "summary": {
          "maxLength": 500,
          "minLength": 1,
          "title": "Summary",
          "type": "string"
        },
        "expected_behavior": {
          "maxLength": 4000,
          "minLength": 1,
          "title": "Expected Behavior",
          "type": "string"
        },
        "actual_behavior": {
          "maxLength": 4000,
          "minLength": 1,
          "title": "Actual Behavior",
          "type": "string"
        },
        "reproduction_steps": {
          "maxLength": 4000,
          "minLength": 1,
          "title": "Reproduction Steps",
          "type": "string"
        }
      },
      "required": [
        "tool_name",
        "summary",
        "expected_behavior",
        "actual_behavior",
        "reproduction_steps"
      ],
      "title": "AgentFeedback",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢search_podcasts(query, limit)

Find active podcasts by topic or name. No account needed. Returns public show information and listening links, never contact addresses.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 5
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "podcasts": {
      "items": {
        "$ref": "#/$defs/PublicPodcast"
      },
      "title": "Podcasts",
      "type": "array"
    }
  },
  "required": [
    "podcasts"
  ],
  "$defs": {
    "PublicPodcast": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "description": {
          "title": "Description",
          "type": "string"
        },
        "listening_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Listening Url"
        },
        "category": {
          "title": "Category",
          "type": "string"
        },
        "language": {
          "title": "Language",
          "type": "string"
        },
        "has_guests": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Has Guests"
        },
        "currently_booking_guests": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unknown unless dated current booking evidence exists. A guest format flag does not verify current availability.",
          "title": "Currently Booking Guests"
        },
        "estimated_monthly_listeners": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audience proxy: four times the catalog weekly download estimate. Not verified unique listeners.",
          "title": "Estimated Monthly Listeners"
        },
        "total_social_followers": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Catalog social follower total; may overlap across platforms. Missing values are unknown, not zero.",
          "title": "Total Social Followers"
        },
        "catalog_last_updated": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Last Updated"
        },
        "catalog_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Url"
        },
        "image_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Image Url"
        },
        "rss_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rss Url"
        },
        "spotify_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spotify Url"
        },
        "itunes_rating_us": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Itunes Rating Us"
        },
        "itunes_review_count_us": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Itunes Review Count Us"
        },
        "host": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Host"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country"
        },
        "genres": {
          "items": {
            "type": "string"
          },
          "title": "Genres",
          "type": "array"
        },
        "episode_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Episode Count"
        },
        "episodes_last_month": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Episodes Last Month"
        },
        "catalog_episode_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Title"
        },
        "catalog_episode_description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Description"
        },
        "catalog_episode_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Date"
        },
        "estimated_weekly_downloads": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Catalog weekly download estimate, not verified unique listeners.",
          "title": "Estimated Weekly Downloads"
        }
      },
      "required": [
        "id",
        "title",
        "description",
        "listening_url",
        "category",
        "language"
      ],
      "title": "PublicPodcast",
      "type": "object"
    }
  },
  "title": "PodcastResults"
}
🟢get_podcast_details(podcast_id)

Read public details for a podcast from search. No account or contact addresses.

입력 스키마

{
  "type": "object",
  "properties": {
    "podcast_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "podcast_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "podcast": {
      "$ref": "#/$defs/PublicPodcast"
    }
  },
  "required": [
    "podcast"
  ],
  "$defs": {
    "PublicPodcast": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "description": {
          "title": "Description",
          "type": "string"
        },
        "listening_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Listening Url"
        },
        "category": {
          "title": "Category",
          "type": "string"
        },
        "language": {
          "title": "Language",
          "type": "string"
        },
        "has_guests": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Has Guests"
        },
        "currently_booking_guests": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unknown unless dated current booking evidence exists. A guest format flag does not verify current availability.",
          "title": "Currently Booking Guests"
        },
        "estimated_monthly_listeners": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audience proxy: four times the catalog weekly download estimate. Not verified unique listeners.",
          "title": "Estimated Monthly Listeners"
        },
        "total_social_followers": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Catalog social follower total; may overlap across platforms. Missing values are unknown, not zero.",
          "title": "Total Social Followers"
        },
        "catalog_last_updated": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Last Updated"
        },
        "catalog_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Url"
        },
        "image_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Image Url"
        },
        "rss_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rss Url"
        },
        "spotify_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Spotify Url"
        },
        "itunes_rating_us": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Itunes Rating Us"
        },
        "itunes_review_count_us": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Itunes Review Count Us"
        },
        "host": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Host"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country"
        },
        "genres": {
          "items": {
            "type": "string"
          },
          "title": "Genres",
          "type": "array"
        },
        "episode_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Episode Count"
        },
        "episodes_last_month": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Episodes Last Month"
        },
        "catalog_episode_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Title"
        },
        "catalog_episode_description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Description"
        },
        "catalog_episode_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Catalog Episode Date"
        },
        "estimated_weekly_downloads": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Catalog weekly download estimate, not verified unique listeners.",
          "title": "Estimated Weekly Downloads"
        }
      },
      "required": [
        "id",
        "title",
        "description",
        "listening_url",
        "category",
        "language"
      ],
      "title": "PublicPodcast",
      "type": "object"
    }
  },
  "title": "PodcastDetails"
}
🟢get_connected_account

Return the account represented by this connection, with a stable opaque profile ID and display email.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S"
    },
    "email": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡create_podcast_campaign(body)

Create a podcast campaign in Off mode using a team profile and connected senders. Existing plan and first-campaign setup checks apply.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/CreatePodcastCampaign",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "CreatePodcastCampaign": {
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "title": "Name"
        },
        "profile_id": {
          "type": "integer",
          "minimum": 1,
          "title": "Profile Id"
        },
        "from_email": {
          "items": {
            "type": "string",
            "format": "email"
          },
          "type": "array",
          "maxItems": 20,
          "minItems": 1,
          "title": "From Email"
        },
        "custom_instruction": {
          "type": "string",
          "maxLength": 20000,
          "title": "Custom Instruction",
          "default": ""
        },
        "matching_blurb": {
          "type": "string",
          "maxLength": 10000,
          "title": "Matching Blurb",
          "default": ""
        },
        "sources": {
          "anyOf": [
            {
              "items": {
                "type": "string",
                "enum": [
                  "podcast",
                  "journalist",
                  "newsletter"
                ]
              },
              "type": "array",
              "maxItems": 3,
              "minItems": 1
            },
            {
              "type": "null"
            }
          ],
          "title": "Sources"
        },
        "subject_lines": {
          "items": {
            "type": "string",
            "maxLength": 500,
            "minLength": 1
          },
          "type": "array",
          "maxItems": 10,
          "title": "Subject Lines"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "profile_id",
        "from_email"
      ],
      "title": "CreatePodcastCampaign"
    }
  }
}
🟢get_campaign(campaign_id)

Read your team's campaign and its settings.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴update_campaign(campaign_id, body)

Update campaign name, writing, follow-up, and tracking settings. Scheduling uses schedule_campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    },
    "body": {
      "$ref": "#/$defs/CampaignSettings",
      "type": "object"
    }
  },
  "required": [
    "campaign_id",
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "CampaignSettings": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            {
              "type": "null"
            }
          ],
          "title": "Name"
        },
        "custom_instruction": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20000
            },
            {
              "type": "null"
            }
          ],
          "title": "Custom Instruction"
        },
        "matching_blurb": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 10000
            },
            {
              "type": "null"
            }
          ],
          "title": "Matching Blurb"
        },
        "email_length": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ]
            },
            {
              "type": "null"
            }
          ],
          "title": "Email Length"
        },
        "follow_up": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Follow Up"
        },
        "follow_up_2": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Follow Up 2"
        },
        "exclude_tracking": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Exclude Tracking"
        },
        "exclude_html_format": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Exclude Html Format"
        },
        "include_recent_episode_ref": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Include Recent Episode Ref"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "title": "CampaignSettings"
    }
  }
}
🔴edit_pitch_draft(campaign_id, entity_id, body)

Edit a saved, unscheduled pitch at its expected stage. Refresh before editing; scheduled messages use edit_upcoming_send.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    },
    "entity_id": {
      "type": "string",
      "title": "Entity Id"
    },
    "body": {
      "$ref": "#/$defs/PitchEdit",
      "type": "object"
    }
  },
  "required": [
    "campaign_id",
    "entity_id",
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "PitchEdit": {
      "properties": {
        "expected_stage": {
          "type": "integer",
          "maximum": 5,
          "minimum": 0,
          "title": "Expected Stage"
        },
        "content": {
          "type": "string",
          "maxLength": 30000,
          "minLength": 1,
          "title": "Content"
        },
        "subject": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "title": "Subject"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "expected_stage",
        "content",
        "subject"
      ],
      "title": "PitchEdit"
    }
  }
}
🟢list_campaigns(limit, before_id)

List up to 50 campaign summaries, newest first. Use next_before_id as before_id for the next page. Read complete settings with get_campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "before_id": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9223372036854776000,
          "minimum": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Before Id"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢list_profiles

List your team's profiles.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟡create_profile(body)

Create a profile for your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/CreateProfileRequest",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "CreateProfileRequest": {
      "properties": {
        "name": {
          "type": "string",
          "title": "Name"
        },
        "blurb": {
          "type": "string",
          "title": "Blurb"
        },
        "database": {
          "type": "string",
          "title": "Database"
        },
        "key_points": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Key Points"
        },
        "key_points_podcast": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Key Points Podcast"
        },
        "key_points_journalist": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Key Points Journalist"
        },
        "key_points_newsletter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Key Points Newsletter"
        },
        "company": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Company"
        },
        "role": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Role"
        },
        "avatar_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Avatar Url"
        },
        "linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Linkedin Url"
        },
        "audience": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Audience"
        },
        "profile_signature": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Profile Signature"
        },
        "type": {
          "type": "string",
          "title": "Type",
          "default": "person"
        },
        "social_reach": {
          "type": "boolean",
          "title": "Social Reach",
          "default": false
        },
        "followers": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Followers"
        },
        "smart_filter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Smart Filter"
        },
        "signature_use_case": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Signature Use Case"
        },
        "sender_relationship": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Sender Relationship"
        },
        "linkedin_company_json": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Linkedin Company Json"
        },
        "linkedin_profile_json": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Linkedin Profile Json"
        },
        "social_channels": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Social Channels"
        },
        "different_bios": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Different Bios"
        },
        "bio_podcast": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Podcast"
        },
        "bio_journalist": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Journalist"
        },
        "bio_newsletter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Newsletter"
        },
        "bio_grade": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade"
        },
        "bio_grade_reasoning": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Reasoning"
        },
        "bio_graded_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Graded At"
        },
        "bio_grade_podcast": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Podcast"
        },
        "bio_grade_reasoning_podcast": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Reasoning Podcast"
        },
        "bio_graded_at_podcast": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Graded At Podcast"
        },
        "bio_grade_journalist": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Journalist"
        },
        "bio_grade_reasoning_journalist": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Reasoning Journalist"
        },
        "bio_graded_at_journalist": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Graded At Journalist"
        },
        "bio_grade_newsletter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Newsletter"
        },
        "bio_grade_reasoning_newsletter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Grade Reasoning Newsletter"
        },
        "bio_graded_at_newsletter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bio Graded At Newsletter"
        },
        "portfolio_visibility": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Portfolio Visibility"
        },
        "search_angle_guidance": {
          "anyOf": [
            {
              "$ref": "#/$defs/SearchAngleGuidance"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "required": [
        "name",
        "blurb",
        "database"
      ],
      "title": "CreateProfileRequest",
      "description": "Model for creating a new profile"
    },
    "SearchAngleGuidance": {
      "properties": {
        "topics_answer": {
          "type": "string",
          "maxLength": 4000,
          "title": "Topics Answer",
          "default": ""
        },
        "audiences_answer": {
          "type": "string",
          "maxLength": 4000,
          "title": "Audiences Answer",
          "default": ""
        }
      },
      "type": "object",
      "title": "SearchAngleGuidance"
    }
  }
}
🔴archive_profile(id)

Archive a profile belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "title": "Id"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
⚪unarchive_profile(id)

Restore an archived profile.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "title": "Id"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢search_account_podcasts(body)

Search podcasts with your account's filters and search allowance.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/PodcastSearchParams",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "PodcastSearchParams": {
      "properties": {
        "q": {
          "type": "string",
          "title": "Q"
        },
        "page": {
          "type": "integer",
          "title": "Page"
        },
        "per_page": {
          "type": "integer",
          "maximum": 50,
          "title": "Per Page",
          "default": 25
        },
        "query_by": {
          "type": "string",
          "title": "Query By",
          "default": "title, description"
        },
        "sort_by": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Sort By"
        },
        "worthy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Worthy",
          "description": "Indicates if the podcast is considered active or idle"
        },
        "exclude": {
          "type": "boolean",
          "title": "Exclude",
          "default": false
        },
        "profile_id": {
          "type": "integer",
          "title": "Profile Id"
        },
        "primary_genre": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Primary Genre"
        },
        "frequency": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Frequency"
        },
        "listenership": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Listenership"
        },
        "language": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Language"
        }
      },
      "type": "object",
      "required": [
        "q",
        "page"
      ],
      "title": "PodcastSearchParams"
    }
  }
}
🟢get_account_podcast(podcast_id)

Read a podcast's full account-accessible record.

입력 스키마

{
  "type": "object",
  "properties": {
    "podcast_id": {
      "type": "string",
      "title": "Podcast Id"
    }
  },
  "required": [
    "podcast_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_campaign_drafts(campaign_id, limit, offset, entity_id)

Read saved drafts for any campaign type, including podcast campaigns. Returns all six email stages, generation/error and pause/send state. Use next_offset as offset for the next page; use entity_id for a specific draft. A queued acknowledgement is not completion; read saved content and is_regenerating to verify.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "title": "Offset"
    },
    "entity_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ],
      "title": "Entity Id"
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_campaign_draft_previews(campaign_id, database, limit)

Read pitch previews for a campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    },
    "database": {
      "type": "string",
      "title": "Database"
    },
    "limit": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1,
      "default": 10,
      "title": "Limit"
    }
  },
  "required": [
    "campaign_id",
    "database"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_campaign_audit(campaign_id, limit, offset)

Read the change history of your campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "default": 50,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "title": "Offset"
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_profile_audit(profile_id, limit, offset)

Read the change history of your profile.

입력 스키마

{
  "type": "object",
  "properties": {
    "profile_id": {
      "type": "integer",
      "title": "Profile Id"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "default": 50,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "title": "Offset"
    }
  },
  "required": [
    "profile_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_subject_results(campaign_id)

Read subject line performance for your campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟡add_contacts_to_campaign(body)

Add selected contacts to your campaign through the existing duplicate checks.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/AddToCampaign",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "AddToCampaign": {
      "properties": {
        "entity_ids": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Ids"
        },
        "media_list": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Media List"
        },
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "preview": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Preview",
          "default": false
        },
        "user_emails": {
          "anyOf": [
            {
              "items": {
                "type": "string",
                "format": "email"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "User Emails"
        },
        "team_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ],
          "title": "Team Id"
        },
        "database": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Database"
        },
        "from_monitor": {
          "type": "boolean",
          "title": "From Monitor",
          "default": false
        }
      },
      "type": "object",
      "required": [
        "campaign_id"
      ],
      "title": "AddToCampaign"
    }
  }
}
🔴send_pitch(body)

Send a pitch through PodPitch's existing authorization, plan, campaign-mode, and daily pitch limits. Sends an email.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "type": "object",
      "properties": {
        "campaign_id": {
          "type": "integer",
          "minimum": 1
        },
        "entity_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "requested_stage": {
          "type": "integer",
          "minimum": 0,
          "maximum": 5
        }
      },
      "required": [
        "campaign_id",
        "entity_id",
        "requested_stage"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴schedule_campaign(body)

Schedule campaign pitches through the existing campaign and pitch-limit checks.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/EmailSchedule",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "EmailSchedule": {
      "properties": {
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "team_id": {
          "type": "string",
          "format": "uuid",
          "title": "Team Id"
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Id"
        },
        "follow_up_only": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Follow Up Only",
          "default": false
        },
        "pause": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pause",
          "default": false
        },
        "datetime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Datetime"
        },
        "start_timestampz": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Start Timestampz"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timezone"
        },
        "add_more": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Add More",
          "default": false
        },
        "only_manual": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Only Manual",
          "default": false
        },
        "asap": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Asap",
          "default": false
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "team_id"
      ],
      "title": "EmailSchedule"
    }
  }
}
🟢get_campaign_schedule(team_id, campaign_id, page, page_size, profile_id, ...)

Read scheduled campaign sends.

입력 스키마

{
  "type": "object",
  "properties": {
    "team_id": {
      "type": "string",
      "format": "uuid",
      "title": "Team Id"
    },
    "campaign_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Campaign Id"
    },
    "page": {
      "type": "integer",
      "default": 1,
      "title": "Page"
    },
    "page_size": {
      "type": "integer",
      "default": 10,
      "title": "Page Size"
    },
    "profile_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Id"
    },
    "entity_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Entity Id"
    }
  },
  "required": [
    "team_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴pause_campaign_schedule(body)

Pause pending sends for your campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/EmailSchedule",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "EmailSchedule": {
      "properties": {
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "team_id": {
          "type": "string",
          "format": "uuid",
          "title": "Team Id"
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Id"
        },
        "follow_up_only": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Follow Up Only",
          "default": false
        },
        "pause": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pause",
          "default": false
        },
        "datetime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Datetime"
        },
        "start_timestampz": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Start Timestampz"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timezone"
        },
        "add_more": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Add More",
          "default": false
        },
        "only_manual": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Only Manual",
          "default": false
        },
        "asap": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Asap",
          "default": false
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "team_id"
      ],
      "title": "EmailSchedule"
    }
  }
}
🔴disable_campaign_schedule(body)

Disable pending sends for your campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/EmailSchedule",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "EmailSchedule": {
      "properties": {
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "team_id": {
          "type": "string",
          "format": "uuid",
          "title": "Team Id"
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Id"
        },
        "follow_up_only": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Follow Up Only",
          "default": false
        },
        "pause": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pause",
          "default": false
        },
        "datetime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Datetime"
        },
        "start_timestampz": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Start Timestampz"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timezone"
        },
        "add_more": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Add More",
          "default": false
        },
        "only_manual": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Only Manual",
          "default": false
        },
        "asap": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Asap",
          "default": false
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "team_id"
      ],
      "title": "EmailSchedule"
    }
  }
}
🔴set_campaign_mode(body)

Set a campaign Off or Manual through the existing mode checks. MagicPitch does not allow Manual.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/CampaignStatusRequest",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "CampaignStatusRequest": {
      "properties": {
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "team_id": {
          "type": "string",
          "format": "uuid",
          "title": "Team Id"
        },
        "status": {
          "type": "string",
          "title": "Status"
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "team_id",
        "status"
      ],
      "title": "CampaignStatusRequest"
    }
  }
}
🟢list_inbox_threads(from_email, emails, profile_id, profile_ids, read_status, ...)

Search or list your team's inbox threads with pagination.

입력 스키마

{
  "type": "object",
  "properties": {
    "from_email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "From Email"
    },
    "emails": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Emails"
    },
    "profile_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Id"
    },
    "profile_ids": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Ids"
    },
    "read_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Read Status"
    },
    "starred": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Starred"
    },
    "hide_replied": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hide Replied"
    },
    "categories": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Categories"
    },
    "folder": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Folder"
    },
    "thread_scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Thread Scope"
    },
    "q": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Q"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "title": "Offset"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cursor"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢read_inbox_thread(email, thread_id)

Read a thread in a mailbox belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "title": "Email"
    },
    "thread_id": {
      "type": "string",
      "title": "Thread Id"
    }
  },
  "required": [
    "email",
    "thread_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴reply_to_inbox_thread(body)

Send a reply in a thread belonging to your team. Sends an email.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/ReplyRequest",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "ReplyRequest": {
      "properties": {
        "from_email": {
          "type": "string",
          "title": "From Email"
        },
        "thread_id": {
          "type": "string",
          "title": "Thread Id"
        },
        "body": {
          "type": "string",
          "title": "Body"
        },
        "subject": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Subject"
        },
        "to_address": {
          "type": "string",
          "title": "To Address"
        },
        "cc": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Cc"
        },
        "bcc": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bcc"
        },
        "attachments": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AttachmentRequest"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Attachments"
        },
        "timezone_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timezone Name"
        },
        "draft": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReplyDraftContext"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "required": [
        "from_email",
        "thread_id",
        "body",
        "to_address"
      ],
      "title": "ReplyRequest"
    },
    "ReplyDraftContext": {
      "properties": {
        "subject": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Subject"
        },
        "body": {
          "type": "string",
          "title": "Body"
        },
        "tone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Tone"
        },
        "confidence": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence"
        },
        "custom_prompt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Custom Prompt"
        },
        "draft_instance_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Draft Instance Id"
        }
      },
      "type": "object",
      "required": [
        "body"
      ],
      "title": "ReplyDraftContext",
      "description": "The Magic Inbox AI draft the reply editor was prefilled with, as\noriginally generated. Sent by the frontend so the API can record the\ndraft-vs-sent diff (see inbox_reply_draft_outcomes).\n\ndraft_instance_id links this send to the apply-time row written by\nPOST /inbox/draft-applied, so the two capture points reconcile into one\nrow instead of double-counting."
    },
    "AttachmentRequest": {
      "properties": {
        "filename": {
          "type": "string",
          "title": "Filename"
        },
        "content": {
          "type": "string",
          "title": "Content"
        },
        "content_type": {
          "type": "string",
          "title": "Content Type"
        }
      },
      "type": "object",
      "required": [
        "filename",
        "content",
        "content_type"
      ],
      "title": "AttachmentRequest"
    }
  }
}
🔴mark_inbox_thread(body)

Mark a thread read, unread, starred, or archived.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/MarkRequest",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "MarkRequest": {
      "properties": {
        "thread_id": {
          "type": "string",
          "title": "Thread Id"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email"
        },
        "archived": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Archived"
        },
        "read": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Read"
        },
        "starred": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Starred"
        }
      },
      "type": "object",
      "required": [
        "thread_id"
      ],
      "title": "MarkRequest"
    }
  }
}
🟢get_inbox_counts(thread_scope)

Read inbox status counts.

입력 스키마

{
  "type": "object",
  "properties": {
    "thread_scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Thread Scope"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢list_inbox_labels

List your team's inbox labels.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟡create_inbox_label(body)

Create an inbox label.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/InboxLabelCreate",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "InboxLabelCreate": {
      "properties": {
        "name": {
          "type": "string",
          "title": "Name"
        },
        "description": {
          "type": "string",
          "title": "Description"
        },
        "color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Color"
        }
      },
      "type": "object",
      "required": [
        "name",
        "description"
      ],
      "title": "InboxLabelCreate"
    }
  }
}
🟢get_upcoming_sends(limit, offset, profile_ids, emails, types, ...)

Read upcoming sends for your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 50,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "title": "Offset"
    },
    "profile_ids": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Ids"
    },
    "emails": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Emails"
    },
    "types": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Types"
    },
    "q": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Q"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🔴cancel_upcoming_send(scheduler_id)

Cancel an upcoming send belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "scheduler_id": {
      "type": "integer",
      "title": "Scheduler Id"
    }
  },
  "required": [
    "scheduler_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴edit_upcoming_send(scheduler_id, body)

Edit an upcoming unsent message through existing validation.

입력 스키마

{
  "type": "object",
  "properties": {
    "scheduler_id": {
      "type": "integer",
      "title": "Scheduler Id"
    },
    "body": {
      "$ref": "#/$defs/EditUpcomingSendRequest",
      "type": "object"
    }
  },
  "required": [
    "scheduler_id",
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "EditUpcomingSendRequest": {
      "properties": {
        "subject": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Subject"
        },
        "body": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Body"
        }
      },
      "type": "object",
      "title": "EditUpcomingSendRequest"
    }
  }
}
🔴reschedule_upcoming_send(scheduler_id, body)

Reschedule an upcoming send through existing scheduling validation.

입력 스키마

{
  "type": "object",
  "properties": {
    "scheduler_id": {
      "type": "integer",
      "title": "Scheduler Id"
    },
    "body": {
      "$ref": "#/$defs/routes__inbox__router__RescheduleRequest",
      "type": "object"
    }
  },
  "required": [
    "scheduler_id",
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "routes__inbox__router__RescheduleRequest": {
      "properties": {
        "scheduled_at": {
          "type": "string",
          "title": "Scheduled At"
        }
      },
      "type": "object",
      "required": [
        "scheduled_at"
      ],
      "title": "RescheduleRequest"
    }
  }
}
🟢list_templates(type)

Read your team's writing templates.

입력 스키마

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "title": "Type"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟡create_template(body)

Create a writing template.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/TemplateCreateBody",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "TemplateCreateBody": {
      "properties": {
        "email_num": {
          "type": "integer",
          "title": "Email Num"
        },
        "content": {
          "type": "string",
          "title": "Content"
        },
        "alias": {
          "type": "string",
          "title": "Alias"
        },
        "type": {
          "type": "string",
          "title": "Type"
        },
        "version": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Version"
        },
        "allow_smoothing": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Allow Smoothing"
        }
      },
      "type": "object",
      "required": [
        "email_num",
        "content",
        "alias",
        "type"
      ],
      "title": "TemplateCreateBody"
    }
  }
}
🔴update_template(template_id, body)

Update a writing template belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "integer",
      "title": "Template Id"
    },
    "body": {
      "$ref": "#/$defs/TemplateUpdateBody",
      "type": "object"
    }
  },
  "required": [
    "template_id",
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "TemplateUpdateBody": {
      "properties": {
        "email_num": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email Num"
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Content"
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Alias"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Type"
        },
        "allow_smoothing": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Allow Smoothing"
        }
      },
      "type": "object",
      "title": "TemplateUpdateBody"
    }
  }
}
🔴delete_template(template_id)

Delete a writing template belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "integer",
      "title": "Template Id"
    }
  },
  "required": [
    "template_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🟢list_media_lists

List your team's saved media lists.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢read_podcast_media_list(body)

Read a podcast media list belonging to your team.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/MediaList",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "MediaList": {
      "properties": {
        "list_id": {
          "type": "integer",
          "title": "List Id"
        },
        "sort_by": {
          "type": "string",
          "title": "Sort By"
        },
        "order_by": {
          "type": "string",
          "title": "Order By"
        },
        "filter": {
          "type": "string",
          "title": "Filter"
        },
        "page": {
          "type": "integer",
          "title": "Page",
          "default": 1
        },
        "per_page": {
          "type": "integer",
          "title": "Per Page",
          "default": 10
        }
      },
      "type": "object",
      "required": [
        "list_id"
      ],
      "title": "MediaList"
    }
  }
}
🟢list_excluded_contacts

Read your team's excluded contacts.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟡exclude_contacts(body)

Add or update your team's contact exclusions.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/ExcludeList",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "ExcludeList": {
      "properties": {
        "entity_ids": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "Entity Ids"
        },
        "team_id": {
          "type": "string",
          "format": "uuid",
          "title": "Team Id"
        }
      },
      "type": "object",
      "required": [
        "entity_ids",
        "team_id"
      ],
      "title": "ExcludeList"
    }
  }
}
🟢list_connected_senders

List connected sender accounts, connection status, and daily capacity. Never returns credentials.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_pitch_activity(user_id, profile_id, sent_email_id)

Read your team's recent pitch, reply, booking, and open counts.

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Id"
    },
    "profile_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Id"
    },
    "sent_email_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sent Email Id"
    }
  },
  "required": [],
  "additionalProperties": false,
  "$defs": {}
}
🟢get_campaign_build_progress(campaign_id)

Read draft generation progress for your team's campaign.

입력 스키마

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "title": "Campaign Id"
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false,
  "$defs": {}
}
🔴rewrite_pitch_drafts(body)

Rewrite saved pitches or apply a template using the existing generation queue and team checks. Does not send emails.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/RewriteEnqueueBody",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "RewriteEnqueueBody": {
      "properties": {
        "user_emails": {
          "anyOf": [
            {
              "items": {
                "type": "string",
                "format": "email"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "User Emails"
        },
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "campaign_ids": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Campaign Ids"
        },
        "database": {
          "type": "string",
          "enum": [
            "podcast",
            "guest",
            "journo",
            "journo_v2",
            "newsletter",
            "substack",
            "linkedin_exa",
            "linkedin_visitors"
          ],
          "title": "Database"
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Id"
        },
        "template_id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Template Id"
        },
        "email_index": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email Index"
        },
        "rewrite_stages": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Rewrite Stages"
        },
        "include_edited": {
          "type": "boolean",
          "title": "Include Edited",
          "default": false
        },
        "edited": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Edited"
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "database"
      ],
      "title": "RewriteEnqueueBody"
    }
  }
}
🔴generate_pitch_drafts(body)

Generate or replace saved pitch drafts for contacts in your campaign using existing limits and team checks. Can overwrite existing draft content, including with rewrite enabled. Read drafts first and obtain approval for replacement. Does not send emails.

입력 스키마

{
  "type": "object",
  "properties": {
    "body": {
      "$ref": "#/$defs/UnifiedEnqueueRequest",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$defs": {
    "UnifiedEnqueueRequest": {
      "properties": {
        "user_emails": {
          "anyOf": [
            {
              "items": {
                "type": "string",
                "format": "email"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "User Emails"
        },
        "team_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ],
          "title": "Team Id"
        },
        "campaign_id": {
          "type": "integer",
          "title": "Campaign Id"
        },
        "database": {
          "type": "string",
          "enum": [
            "podcast",
            "journo",
            "journo_import",
            "journo_v2",
            "newsletter",
            "linkedin_exa",
            "linkedin_visitors",
            "guest"
          ],
          "title": "Database"
        },
        "entity_id": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Entity Id"
        },
        "matches": {
          "anyOf": [
            {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Matches"
        },
        "outlet_source_id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Outlet Source Id"
        },
        "metadata": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "title": "Metadata"
        },
        "lazy_loading": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Lazy Loading",
          "default": true
        },
        "rewrite": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Rewrite",
          "default": false
        },
        "from_monitor": {
          "type": "boolean",
          "title": "From Monitor",
          "default": false
        },
        "pause_for_review": {
          "type": "boolean",
          "title": "Pause For Review",
          "default": false
        }
      },
      "type": "object",
      "required": [
        "campaign_id",
        "database"
      ],
      "title": "UnifiedEnqueueRequest",
      "description": "Unified request schema for all email generation enqueueing"
    }
  }
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 51개