Ana içeriğe geç

İçerik Oluştur

Yeni içerik oluşturur.

Endpoint

POST /api/v1/contents

Authentication

Bu endpoint authentication gerektirir.

Header: Authorization: Bearer \{token\}

Permission

  • content.create - Tüm içerikleri oluşturma
  • content.create.own - Sadece kendi içeriğini oluşturma

Request

Headers

HeaderDeğerZorunlu
AuthorizationBearer \{token\}Evet
Content-Typeapplication/jsonEvet

Request Body

ParametreTipZorunluAçıklama
titlestringEvetİçerik başlığı
slugstringHayırİçerik slug'ı (otomatik oluşturulur)
contentstringHayırİçerik metni
excerptstringHayırİçerik özeti
statusstringHayırİçerik durumu (draft, published, archived, varsayılan: "draft")
typestringHayırİçerik tipi
is_activebooleanHayırAktif durumu (varsayılan: true)
published_atdatetimeHayırYayınlanma tarihi

Example Request

{
"title": "Örnek İçerik",
"content": "İçerik metni buraya gelir...",
"excerpt": "İçerik özeti",
"status": "draft",
"type": "article",
"is_active": true
}

Response

Success Response (201 Created)

{
"id": 1,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"title": "Örnek İçerik",
"slug": "ornek-icerik",
"content": "İçerik metni buraya gelir...",
"excerpt": "İçerik özeti",
"status": "draft",
"type": "article",
"is_active": true,
"user_id": 1,
"created_at": "2025-11-20T12:00:00.000000Z",
"updated_at": "2025-11-20T12:00:00.000000Z"
}

Error Responses

403 Forbidden

{
"message": "Forbidden"
}

422 Unprocessable Entity

{
"message": "Validation failed",
"errors": {
"title": ["The title field is required."]
}
}

Code Examples

cURL

curl -X POST https://api.example.com/api/v1/contents \
-H "Authorization: Bearer \{token\}" \
-H "Content-Type: application/json" \
-d '{
"title": "Örnek İçerik",
"content": "İçerik metni buraya gelir...",
"status": "draft"
}'

Notes

  • .own permission'ı olan kullanıcılar için user_id otomatik olarak atanır
  • slug belirtilmemişse başlıktan otomatik oluşturulur
  • is_active değeri belirtilmemişse varsayılan olarak true kullanılır
  • status değeri belirtilmemişse varsayılan olarak "draft" kullanılır