Skip to content

Developer API Overview

The Developer API provides full management access to your PackEdge resources. Use it to build automations, integrate with your platform, or create custom dashboards.

Base URL: https://api.packedge.dev/v1

Who Uses This?

You (the developer) — from your backend systems. Never expose this API to end customers.

┌─────────────────────────────────────────────────────┐
│  Your Backend / Platform                            │
│  ┌─────────────────────────────────────────────┐   │
│  │  WooCommerce, Custom CRM, Automation        │   │
│  │  ┌─────────────────────────────────────┐   │   │
│  │  │  Authorization: Bearer pk_secret... │───┼───┼──► api.packedge.dev/v1/*
│  │  │  (YOUR secret, never shared)        │   │   │
│  │  └─────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────┘

Use Cases

  • E-commerce integration — Auto-create licenses on WooCommerce/EDD purchase
  • CRM sync — Keep customer data in sync with your CRM
  • Custom dashboard — Build your own analytics/management UI
  • Automation — Bulk license operations, scheduled tasks

Authentication

Pass your secret API key in the Authorization header:

bash
Authorization: Bearer pk_your_api_key

Creating an API Key

  1. Go to PackEdge Console
  2. Navigate to Settings → API Keys
  3. Click Create API Key
  4. Copy and store securely (shown once)

Security

  • Never expose API keys in client-side code, git repos, or logs
  • Keys have full account access
  • Rotate immediately if compromised

Endpoints

Products

  • List — Get all products
  • Get — Get single product
  • Create — Create new product
  • Update — Update product
  • Delete — Delete product

Licenses

  • List — Get licenses (with filters)
  • Get — Get single license
  • Create — Issue new license
  • Update — Modify license
  • Revoke — Revoke a license (cache-busting + webhook)
  • Bulk — Revoke / suspend / activate / extend many at once
  • Delete — Permanently delete license

Customers

Sites

Releases

  • List — A product's releases
  • Upload — Upload a release zip
  • Inspect — Preview a zip's readme metadata
  • Create — Create a release record
  • Update — Edit notes / compat / status
  • Set Stable — Promote or roll back the stable release
  • Download — Signed download URL
  • Delete — Delete a release

Plans

  • List — A product's pricing plans
  • Create — Create a plan
  • Update — Update a plan (reconciles Stripe/Polar)
  • Sync — Push a plan to the payment provider
  • Delete — Delete a plan

Webhooks

Payments

  • List — Get payments / orders
  • Get — One payment with linked records
  • Create Order — Record a manual order + license

Subscriptions

  • List — Get subscriptions
  • Create — Record a manual subscription
  • Cancel — Cancel a subscription
  • Bulk — Bulk cancel

Dashboard & Analytics

Events & Logs

Exports

  • CSV Exports — Licenses, customers, payments, sales, and per-product data as CSV

Feedback

  • List — Customer feedback
  • Stats — Sentiment / rating / tag breakdowns
  • Tags — Manage and assign feedback tags

Notifications

  • List — Notification feed + unread count
  • Mark Read — Mark one or all read

Tickets

Portal

Settings

Response Format

All responses are JSON (the only exception: CSV exports return text/csv):

json
{
  "data": { ... },
  "meta": {
    "page": 1,
    "perPage": 20,
    "total": 100,
    "totalPages": 5
  }
}

Error Handling

Errors return appropriate HTTP status codes with details:

json
{
  "error": "Product not found"
}
StatusMeaning
200Success
201Created
400Bad request
401Unauthorized — invalid or missing API key
404Not found
422Validation error
500Server error