What you will learn
This tutorial shows you how to use the Deplyd REST API to create and manage changelog entries programmatically. Perfect for CI/CD integration, custom admin tools, or Slack bots.
Authentication
Every API request requires a Bearer token. Create an API key in your Deplyd dashboard — it starts with dpl_ and is shown only once:
Authorization: Bearer dpl_your_api_key_here
Create an entry
curl -X POST https://deplyd.dev/api/v1/entries \
-H "Authorization: Bearer dpl_abc123" \
-H "Content-Type: application/json" \
-d '{
"title": "Dark mode support",
"body": "The widget now automatically adapts to your site dark mode.",
"type": "feature",
"published": true
}'
List entries
curl https://deplyd.dev/api/v1/entries?limit=10&page=1 \
-H "Authorization: Bearer dpl_abc123"
The response includes pagination metadata:
{
"data": [
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"title": "Dark mode support",
"body": "The widget now automatically adapts...",
"type": "feature",
"published": true,
"published_at": "2026-04-01T10:00:00Z"
}
],
"meta": {
"total": 42,
"page": 1,
"limit": 10
}
}
Entry types
| Type | When to use |
|---|---|
feature | New functionality or capability |
improvement | Enhancement to existing functionality |
fix | Bug fix or correction |
breaking | Backward-incompatible change |
CI/CD integration
Automatically publish changelog entries when you create a GitHub release:
# .github/workflows/changelog.yml
name: Publish Changelog
on:
release:
types: [published]
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Publish to Deplyd
run: |
curl -X POST https://deplyd.dev/api/v1/entries \
-H "Authorization: Bearer ${{ secrets.DEPLYD_API_KEY }}" \
-H "Content-Type: application/json" \
-d "{
\"title\": \"${{ github.event.release.name }}\",
\"body\": $(echo '${{ github.event.release.body }}' | jq -Rs .),
\"type\": \"feature\",
\"published\": true
}"
Rate limits
- Free plan: 30 requests per minute
- Paid plans: 100 requests per minute
- Widget endpoint: 300 requests per minute