Press API
Press API를 사용하여 AI 기반 보도자료를 생성하고 관리할 수 있습니다.
인증
모든 API 요청에는 PULITZER-API-KEY 헤더에 API 키가 필요합니다.
헤더 설정
PULITZER-API-KEY: YOUR_API_KEYAPI 키 획득
API 키는 PulitzerAI 대시보드에서 발급받을 수 있습니다.
- 대시보드 로그인 후 설정 메뉴로 이동
- API 키 관리 섹션에서 새 키 생성
- 생성된 키를 안전하게 보관
curl -X GET "https://api.pulitzer.ai/live/openapi/press/list" \
-H "PULITZER-API-KEY: YOUR_API_KEY"보도자료 생성
키워드를 기반으로 AI가 보도자료를 자동 생성합니다.
POST https://api.pulitzer.ai/live/openapi/press/create-v2요청 본문
{
"keyword": "퓰리처 AI 보도자료 생성 API 출시",
"language": "ko",
"is_public": false,
"is_image": false,
"is_search": false,
"kind": "제품 출시",
"is_lead_text": false,
"reference_ids": [
1,
2
],
"img_options": [
"professional",
"modern"
]
}Request Body Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
keyword | string | ✅ | - | 보도자료 생성을 위한 핵심 키워드 (최대 1000자) |
language | string | ❌ | ko | 생성할 언어 (ko, en, ja, fr, zh, id) |
is_public | boolean | ❌ | false | 보도자료 공개 여부 |
is_image | boolean | ❌ | false | 이미지 자동 생성 여부 |
is_search | boolean | ❌ | false | 웹 검색 기능 사용 여부 |
kind | string | ❌ | null | 보도자료 유형 (예: "제품 출시", "인사발령" 등) |
is_lead_text | boolean | ❌ | false | 리드문(부제목) 생성 여부 |
reference_ids | array[integer] | ❌ | null | 참조할 보도자료 ID 목록 |
img_options | array[string] | ❌ | null | 이미지 생성 옵션 (예: ["professional", "modern"]) |
응답
{
"status": "SUCCESS",
"success": true,
"message": "보도자료 생성 완료",
"data": {
"press_id": 658,
"title": "퓰리처 AI, 혁신적인 보도자료 생성 API 정식 출시",
"content": "스타씨드가 개발한 퓰리처 AI가 보도자료 생성 API를...",
"img_url": null,
"language": "ko",
"created_at": 1760079885
}
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data.press_id | integer | 생성된 보도자료 ID |
data.title | string | 생성된 보도자료 제목 |
data.content | string | 생성된 보도자료 내용 |
data.img_url | string|null | 생성된 이미지 URL (이미지 생성 시에만) |
data.language | string | 보도자료 언어 코드 |
data.created_at | integer | 생성 시간 (Unix timestamp) |
curl -X POST "https://api.pulitzer.ai/live/openapi/press/create-v2" \
-H "PULITZER-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"keyword": "퓰리처 AI 보도자료 생성 API 출시",
"language": "ko",
"is_search": true
}'보도자료 수정
기존 보도자료를 AI로 수정합니다.
POST https://api.pulitzer.ai/live/openapi/press/modify요청 본문
{
"press_id": 658,
"modification_prompt": "더 공식적인 톤으로 수정해주세요"
}Request Body Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
press_id | integer | ✅ | 수정할 보도자료 ID |
modification_prompt | string | ✅ | 수정 요청사항 (최대 1000자) |
응답
{
"status": "SUCCESS",
"success": true,
"message": "보도자료 수정 완료",
"data": {
"press_id": 658,
"title": "퓰리처 AI, 혁신적인 보도자료 생성 API 정식 출시",
"content": "스타씨드가 개발한 퓰리처 AI가 보도자료 생성 API를..."
}
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data.press_id | integer | 수정된 보도자료 ID |
data.title | string | 수정된 보도자료 제목 |
data.content | string | 수정된 보도자료 내용 |
curl -X POST "https://api.pulitzer.ai/live/openapi/press/modify" \
-H "PULITZER-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"press_id": 658,
"modification_prompt": "더 공식적인 톤으로 수정해주세요"
}'보도자료 목록 조회
사용자의 보도자료 목록을 조회합니다.
GET https://api.pulitzer.ai/live/openapi/press/list?page=1&page_size=10Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
page | integer | ❌ | 1 | 페이지 번호 (1 이상) |
page_size | integer | ❌ | 20 | 페이지 크기 (1-100) |
keyword | string | ❌ | null | 검색 키워드 (제목, 내용, 키워드에서 검색) |
sorting | string | ❌ | latest | 정렬 방식 (latest: 최신순, oldest: 오래된순) |
응답
{
"status": "SUCCESS",
"success": true,
"message": "보도자료 목록 조회 성공",
"data": {
"press_list": [
{
"id": 658,
"title": "퓰리처 AI, 혁신적인 보도자료 생성 API 정식 출시",
"content": "스타씨드가 개발한 퓰리처 AI가...",
"language": "ko",
"is_public": false,
"img_url": null,
"created_at": 1760079885,
"updated_at": 1760079885,
"question": "퓰리처 AI 보도자료 생성 API 출시"
}
],
"page_count": 59,
"total_count": 590
}
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data.press_list | array | 보도자료 객체 배열 |
data.press_list[].id | integer | 보도자료 ID |
data.press_list[].title | string | 보도자료 제목 |
data.press_list[].content | string | 보도자료 내용 |
data.press_list[].language | string | 언어 코드 |
data.press_list[].is_public | boolean | 공개 여부 |
data.press_list[].img_url | string|null | 이미지 URL |
data.press_list[].created_at | integer | 생성 시간 (Unix timestamp) |
data.press_list[].updated_at | integer | 수정 시간 (Unix timestamp) |
data.press_list[].question | string | 생성 시 사용한 키워드 |
data.page_count | integer | 총 페이지 수 |
data.total_count | integer | 총 보도자료 개수 |
curl -X GET "https://api.pulitzer.ai/live/openapi/press/list?page=1&page_size=10" \
-H "PULITZER-API-KEY: YOUR_API_KEY"보도자료 상세 조회
특정 보도자료의 상세 정보를 조회합니다.
GET https://api.pulitzer.ai/live/openapi/press/{`{press_id}`}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
press_id | integer | ✅ | 조회할 보도자료 ID |
응답
{
"status": "SUCCESS",
"success": true,
"message": "보도자료 조회 성공",
"data": {
"id": 658,
"title": "퓰리처 AI, 혁신적인 보도자료 생성 API 정식 출시",
"content": "스타씨드가 개발한 퓰리처 AI가 보도자료 생성 API를...",
"language": "ko",
"is_public": false,
"img_url": null,
"created_at": 1760079885,
"updated_at": 1760079885,
"question": "퓰리처 AI 보도자료 생성 API 출시"
}
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data.id | integer | 보도자료 ID |
data.title | string | 보도자료 제목 |
data.content | string | 보도자료 내용 |
data.language | string | 언어 코드 |
data.is_public | boolean | 공개 여부 |
data.img_url | string|null | 이미지 URL |
data.created_at | integer | 생성 시간 (Unix timestamp) |
data.updated_at | integer | 수정 시간 (Unix timestamp) |
data.question | string | 생성 시 사용한 키워드 |
curl -X GET "https://api.pulitzer.ai/live/openapi/press/658" \
-H "PULITZER-API-KEY: YOUR_API_KEY"보도자료 삭제
보도자료를 삭제합니다.
DELETE https://api.pulitzer.ai/live/openapi/press/{`{press_id}`}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
press_id | integer | ✅ | 삭제할 보도자료 ID |
응답
{
"status": "SUCCESS",
"success": true,
"message": "보도자료 삭제 성공"
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
curl -X DELETE "https://api.pulitzer.ai/live/openapi/press/658" \
-H "PULITZER-API-KEY: YOUR_API_KEY"참조 보도자료 생성
새로운 참조 보도자료를 생성합니다. 생성된 참조는 향후 보도자료 작성 시 참고 자료로 활용할 수 있습니다.
POST https://api.pulitzer.ai/live/openapi/press/reference요청 본문
{
"title": "테스트 참조 보도자료",
"content": "이것은 테스트용 참조 보도자료 내용입니다.",
"url": "https://example.com",
"kind": "text"
}Request Body Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
title | string | ✅ | - | 참조 보도자료 제목 (최대 200자) |
content | string | ✅ | - | 참조 보도자료 내용 (최대 50,000자) |
url | string | ❌ | null | 참조 URL (선택사항) |
kind | string | ❌ | text | 참조 종류 (text, url 등) |
응답
{
"status": "SUCCESS",
"success": true,
"message": "참조 보도자료 생성 성공",
"data": {
"id": 123,
"title": "테스트 참조 보도자료",
"content": "이것은 테스트용 참조 보도자료 내용입니다.",
"url": "https://example.com",
"kind": "text",
"user_id": 1,
"created_kst": "2024-10-10T16:00:00.000Z"
}
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data | PressReference | 생성된 참조 보도자료 객체 |
data.id | integer | 생성된 참조 보도자료 ID |
data.title | string | 참조 보도자료 제목 |
data.content | string | 참조 보도자료 내용 |
data.url | string|null | 참조 URL |
data.kind | string | 참조 종류 (text, url 등) |
data.user_id | integer | 소유자 사용자 ID |
data.created_kst | datetime | 생성 시간 (ISO 8601 형식) |
curl -X POST "https://api.pulitzer.ai/live/openapi/press/reference" \
-H "PULITZER-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "테스트 참조 보도자료",
"content": "이것은 테스트용 참조 보도자료 내용입니다.",
"url": "https://example.com",
"kind": "text"
}'참조 보도자료 목록 조회
사용자가 생성한 참조 보도자료의 전체 목록을 조회합니다. 반환되는 데이터는 타입 안전한 PressReference 객체 배열입니다.
GET https://api.pulitzer.ai/live/openapi/press/reference/list응답
{
"status": "SUCCESS",
"success": true,
"message": "참조 보도자료 목록 조회 성공",
"data": [
{
"id": 123,
"title": "테스트 참조 보도자료",
"content": "이것은 테스트용 참조 보도자료 내용입니다.",
"url": "https://example.com",
"kind": "text",
"user_id": 1,
"created_kst": "2024-10-10T16:00:00.000Z"
}
]
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
data | PressReference[] | 참조 보도자료 객체 배열 |
data[].id | integer | 참조 보도자료 ID |
data[].title | string | 참조 보도자료 제목 |
data[].content | string | 참조 보도자료 내용 |
data[].url | string|null | 참조 URL |
data[].kind | string | 참조 종류 (text, url 등) |
data[].user_id | integer | 소유자 사용자 ID |
data[].created_kst | datetime | 생성 시간 (ISO 8601 형식) |
curl -X GET "https://api.pulitzer.ai/live/openapi/press/reference/list" \
-H "PULITZER-API-KEY: YOUR_API_KEY"참조 보도자료 삭제
참조 보도자료를 삭제합니다.
DELETE https://api.pulitzer.ai/live/openapi/press/reference/{`{reference_id}`}Path Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
reference_id | integer | ✅ | - | 삭제할 참조 보도자료 ID |
응답
{
"status": "SUCCESS",
"success": true,
"message": "참조 보도자료 삭제 성공"
}Response Fields
| 필드명 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 |
curl -X DELETE "https://api.pulitzer.ai/live/openapi/press/reference/123" \
-H "PULITZER-API-KEY: YOUR_API_KEY"응답 구조
모든 API 응답은 다음과 같은 표준 구조를 따릅니다:
{
"status": "SUCCESS", // 응답 상태 (SUCCESS/FAIL)
"success": true, // 성공 여부 (boolean)
"message": "성공 메시지", // 응답 메시지
"data": {
// 실제 데이터 (성공 시)
// API별 응답 데이터
}
}응답 필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
status | string | 응답 상태 ("SUCCESS" 또는 "FAIL") |
success | boolean | 요청 성공 여부 |
message | string | 응답 메시지 (성공/실패 메시지) |
data | object | 실제 데이터 (성공 시에만 포함) |
오류 코드
API 요청 중 발생할 수 있는 주요 오류 코드입니다.
| 상태 코드 | 오류 코드 | 설명 |
|---|---|---|
| 400 | NOT_FOUND | 일부 레퍼런스 보도자료가 존재하지 않습니다 |
| 401 | UNAUTHORIZED | API 키가 유효하지 않습니다 |
| 403 | NOT_AUTHORIZED | 본인의 리소스만 접근/수정할 수 있습니다 |
| 404 | USER_NOT_FOUND | 사용자를 찾을 수 없습니다 |
| 404 | NOT_FOUND | 존재하지 않는 리소스이거나 접근 권한이 없습니다 |
| 500 | GENERATION_ERROR | 보도자료 생성 중 오류가 발생했습니다 |
| 500 | MODIFICATION_ERROR | 보도자료 수정 중 오류가 발생했습니다 |
사용 예시
Python 예시
import requests
# API 키 설정
headers = {
"PULITZER-API-KEY": "YOUR_API_KEY_HERE"
}
# 보도자료 생성
response = requests.post(
"https://api.pulitzer.ai/live/openapi/press/create-v2",
headers=headers,
json={
"keyword": "퓰리처 AI 보도자료 생성 API 출시",
"language": "ko",
"is_search": True
}
)
if response.status_code == 200:
result = response.json()
if result['success']:
data = result['data']
print(f"생성된 보도자료 ID: {data['press_id']}")
print(f"제목: {data['title']}")
else:
print(f"오류: {result['message']}")JavaScript 예시
const response = await fetch(
"https://api.pulitzer.ai/live/openapi/press/create-v2",
{
method: "POST",
headers: {
"PULITZER-API-KEY": "YOUR_API_KEY_HERE",
"Content-Type": "application/json",
},
body: JSON.stringify({
keyword: "퓰리처 AI 보도자료 생성 API 출시",
language: "ko",
is_search: true,
}),
}
);
const result = await response.json();
if (result.success) {
console.log("생성된 보도자료:", result.data);
} else {
console.error("오류:", result.message);
}cURL 예시
curl -X POST "https://api.pulitzer.ai/live/openapi/press/create-v2" \
-H "PULITZER-API-KEY: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"keyword": "퓰리처 AI 보도자료 생성 API 출시",
"language": "ko",
"is_search": true
}'