API Reference

Service Reference

Complete endpoint documentation for every sandbox service. Each sandbox implements the real API's format, authentication, and error shapes.

Stripe

Base URLhttps://ghostbox.dev/sandbox/stripe/v1/*
AuthAuthorization: Bearer sandbox_test_...
Content-Typeapplication/x-www-form-urlencoded
PaginationCursor-based: limit (max 100), starting_after, ending_before

Customers

POST/v1/customers

Create a customer

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/customers \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "email=jane@example.com" \
  -d "name=Jane Doe"

Example response

{
  "id": "cus_abc123def456ghi789",
  "object": "customer",
  "email": "jane@example.com",
  "name": "Jane Doe",
  "balance": 0,
  "currency": null,
  "delinquent": false,
  "created": 1711234567,
  "livemode": false
}
GET/v1/customers

List all customers

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/customers \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "object": "list",
  "data": [{ "id": "cus_...", "object": "customer", ... }],
  "has_more": false,
  "url": "/v1/customers"
}
GET/v1/customers/:id

Retrieve a customer

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/customers/cus_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "cus_abc123",
  "object": "customer",
  "email": "jane@example.com",
  "name": "Jane Doe",
  ...
}
POST/v1/customers/:id

Update a customer

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/customers/cus_abc123 \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "name=Jane Smith"

Example response

{
  "id": "cus_abc123",
  "object": "customer",
  "name": "Jane Smith",
  ...
}
DELETE/v1/customers/:id

Delete a customer

Example request

curl -X DELETE https://ghostbox.dev/sandbox/stripe/v1/customers/cus_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "cus_abc123",
  "object": "customer",
  "deleted": true
}

Products

POST/v1/products

Create a product

Required fields

name

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/products \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "name=Premium Plan"

Example response

{
  "id": "prod_abc123def456ghi789",
  "object": "product",
  "name": "Premium Plan",
  "active": true,
  "type": "service",
  ...
}
GET/v1/products

List all products

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/products \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "object": "list",
  "data": [{ "id": "prod_...", "object": "product", ... }],
  "has_more": false
}
GET/v1/products/:id

Retrieve a product

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/products/prod_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "prod_abc123",
  "object": "product",
  "name": "Premium Plan",
  ...
}
POST/v1/products/:id

Update a product

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/products/prod_abc123 \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "name=Enterprise Plan"

Example response

{
  "id": "prod_abc123",
  "object": "product",
  "name": "Enterprise Plan",
  ...
}
DELETE/v1/products/:id

Delete (archive) a product

Example request

curl -X DELETE https://ghostbox.dev/sandbox/stripe/v1/products/prod_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "prod_abc123",
  "object": "product",
  "deleted": true
}

Prices

POST/v1/prices

Create a price

Required fields

currencyproduct

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/prices \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "currency=usd" \
  -d "product=prod_abc123" \
  -d "unit_amount=2000"

Example response

{
  "id": "price_abc123def456ghi789",
  "object": "price",
  "currency": "usd",
  "product": "prod_abc123",
  "unit_amount": 2000,
  "active": true,
  "type": "one_time",
  ...
}
GET/v1/prices

List all prices

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/prices \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "object": "list",
  "data": [{ "id": "price_...", "object": "price", ... }],
  "has_more": false
}
GET/v1/prices/:id

Retrieve a price

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/prices/price_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "price_abc123",
  "object": "price",
  "unit_amount": 2000,
  ...
}
POST/v1/prices/:id

Update a price

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/prices/price_abc123 \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "active=false"

Example response

{
  "id": "price_abc123",
  "object": "price",
  "active": false,
  ...
}

Charges

POST/v1/charges

Create a charge

Required fields

amount

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/charges \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "amount=2000" \
  -d "currency=usd" \
  -d "source[number]=4242424242424242" \
  -d "source[exp_month]=12" \
  -d "source[exp_year]=2030"

Example response

{
  "id": "ch_abc123def456ghi789",
  "object": "charge",
  "amount": 2000,
  "currency": "usd",
  "paid": true,
  "status": "succeeded",
  "payment_method_details": {
    "type": "card",
    "card": {
      "brand": "visa",
      "last4": "4242",
      "exp_month": 12,
      "exp_year": 2030
    }
  },
  ...
}
GET/v1/charges

List all charges

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/charges \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "object": "list",
  "data": [{ "id": "ch_...", "object": "charge", ... }],
  "has_more": false
}
GET/v1/charges/:id

Retrieve a charge

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/charges/ch_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "ch_abc123",
  "object": "charge",
  "amount": 2000,
  ...
}
POST/v1/charges/:id

Update a charge

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/charges/ch_abc123 \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "description=Updated charge"

Example response

{
  "id": "ch_abc123",
  "object": "charge",
  "description": "Updated charge",
  ...
}

Payment Intents

POST/v1/payment_intents

Create a payment intent

Required fields

amountcurrency

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/payment_intents \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "amount=2000" \
  -d "currency=usd" \
  -d "payment_method_types[]=card"

Example response

{
  "id": "pi_abc123def456ghi789",
  "object": "payment_intent",
  "amount": 2000,
  "currency": "usd",
  "status": "requires_payment_method",
  "client_secret": "pi_abc123_secret_...",
  ...
}
GET/v1/payment_intents

List all payment intents

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/payment_intents \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "object": "list",
  "data": [{ "id": "pi_...", "object": "payment_intent", ... }],
  "has_more": false
}
GET/v1/payment_intents/:id

Retrieve a payment intent

Example request

curl https://ghostbox.dev/sandbox/stripe/v1/payment_intents/pi_abc123 \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "pi_abc123",
  "object": "payment_intent",
  "status": "requires_payment_method",
  ...
}
POST/v1/payment_intents/:id

Update a payment intent

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/payment_intents/pi_abc123 \
  -H "Authorization: Bearer sandbox_test_..." \
  -d "payment_method=4242424242424242"

Example response

{
  "id": "pi_abc123",
  "object": "payment_intent",
  "status": "requires_confirmation",
  ...
}
POST/v1/payment_intents/:id/confirm

Confirm a payment intent

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/payment_intents/pi_abc123/confirm \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "pi_abc123",
  "object": "payment_intent",
  "status": "succeeded",
  "amount_received": 2000,
  ...
}
POST/v1/payment_intents/:id/cancel

Cancel a payment intent

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/payment_intents/pi_abc123/cancel \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "pi_abc123",
  "object": "payment_intent",
  "status": "canceled",
  "cancellation_reason": "requested_by_customer",
  ...
}
POST/v1/payment_intents/:id/capture

Capture a payment intent (manual capture only)

Example request

curl -X POST https://ghostbox.dev/sandbox/stripe/v1/payment_intents/pi_abc123/capture \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "pi_abc123",
  "object": "payment_intent",
  "status": "succeeded",
  "amount_received": 2000,
  "amount_capturable": 0,
  ...
}

Magic card numbers

Use these card numbers in the source[number] or payment_method field to trigger specific outcomes.

Card NumberBrandOutcomeDecline Code
4242424242424242VisaSuccess--
4000056655665556Visa (debit)Success--
5555555555554444MastercardSuccess--
2223003122003222Mastercard (2-series)Success--
5200828282828210Mastercard (debit)Success--
378282246310005AmexSuccess--
6011111111111117DiscoverSuccess--
4000000000000002VisaDeclinedcard_declined
4000000000009995VisaDeclinedinsufficient_funds
4000000000009987VisaDeclinedlost_card
4000000000009979VisaDeclinedstolen_card
4000000000000069VisaDeclinedexpired_card
4000000000000127VisaDeclinedincorrect_cvc
4000000000000119VisaDeclinedprocessing_error
4242424242424241VisaDeclinedincorrect_number

Resend

Base URLhttps://ghostbox.dev/sandbox/resend/*
AuthAuthorization: Bearer sandbox_test_...
Content-Typeapplication/json
PaginationPage-based: page, page_size (max 100)

Emails

POST/emails

Send an email

Required fields

fromtosubject

Example request

curl -X POST https://ghostbox.dev/sandbox/resend/emails \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "from": "hello@example.com",
    "to": "user@example.com",
    "subject": "Hello World",
    "html": "<p>Welcome!</p>"
  }'

Example response

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
GET/emails/:id

Retrieve an email

Example request

curl https://ghostbox.dev/sandbox/resend/emails/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "a1b2c3d4-...",
  "object": "email",
  "from": "hello@example.com",
  "to": ["user@example.com"],
  "subject": "Hello World",
  "html": "<p>Welcome!</p>",
  "last_event": "delivered",
  "created_at": "2026-03-28T12:00:00.000Z"
}

API Keys

POST/api-keys

Create an API key

Required fields

name

Example request

curl -X POST https://ghostbox.dev/sandbox/resend/api-keys \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Production Key" }'

Example response

{
  "id": "a1b2c3d4-...",
  "token": "re_abc123def456..."
}
GET/api-keys

List API keys

Example request

curl https://ghostbox.dev/sandbox/resend/api-keys \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "data": [
    {
      "id": "a1b2c3d4-...",
      "name": "Production Key",
      "permission": "full_access",
      "created_at": "2026-03-28T12:00:00.000Z"
    }
  ]
}
DELETE/api-keys/:id

Delete an API key

Example request

curl -X DELETE https://ghostbox.dev/sandbox/resend/api-keys/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{}

Domains

POST/domains

Add a domain

Required fields

name

Example request

curl -X POST https://ghostbox.dev/sandbox/resend/domains \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "example.com" }'

Example response

{
  "id": "a1b2c3d4-...",
  "object": "domain",
  "name": "example.com",
  "status": "not_started",
  "region": "us-east-1",
  "records": [
    { "record": "SPF", "type": "MX", ... },
    { "record": "SPF", "type": "TXT", ... },
    { "record": "DKIM", "type": "CNAME", ... }
  ],
  "created_at": "2026-03-28T..."
}
GET/domains

List domains

Example request

curl https://ghostbox.dev/sandbox/resend/domains \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "data": [{ "id": "...", "name": "example.com", ... }]
}
GET/domains/:id

Get a domain

Example request

curl https://ghostbox.dev/sandbox/resend/domains/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "a1b2c3d4-...",
  "name": "example.com",
  "status": "not_started",
  ...
}
DELETE/domains/:id

Delete a domain

Example request

curl -X DELETE https://ghostbox.dev/sandbox/resend/domains/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{}
POST/domains/:id/verify

Verify a domain (always succeeds in sandbox)

Example request

curl -X POST https://ghostbox.dev/sandbox/resend/domains/a1b2c3d4-.../verify \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "a1b2c3d4-...",
  "name": "example.com",
  "status": "verified",
  ...
}

PostHog

Base URLhttps://ghostbox.dev/sandbox/posthog/api/*
AuthAuthorization: Bearer sandbox_test_...
Content-Typeapplication/json
PaginationOffset-based: limit (max 100), offset

Events

POST/api/event

Capture a single event

Required fields

eventproperties.distinct_id

Example request

curl -X POST https://ghostbox.dev/sandbox/posthog/api/event \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "event": "page_view",
    "distinct_id": "user-123",
    "properties": {
      "page": "/pricing",
      "referrer": "google.com"
    }
  }'

Example response

{
  "status": 1
}
POST/api/capture

Capture events (alias for /api/event, supports batch)

Required fields

event or batch

Example request

curl -X POST https://ghostbox.dev/sandbox/posthog/api/capture \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "batch": [
      {
        "event": "signup",
        "distinct_id": "user-123",
        "properties": { "plan": "pro" }
      },
      {
        "event": "purchase",
        "distinct_id": "user-123",
        "properties": { "amount": 49 }
      }
    ]
  }'

Example response

{
  "status": 1
}

Persons

GET/api/projects/:project_id/persons

List persons (project_id accepted but not enforced)

Example request

curl https://ghostbox.dev/sandbox/posthog/api/projects/1/persons \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "a1b2c3d4-...",
      "distinct_ids": ["user-123"],
      "properties": { "plan": "pro" },
      "created_at": "2026-03-28T..."
    }
  ]
}
GET/api/projects/:project_id/persons/:id

Get a person by UUID

Example request

curl https://ghostbox.dev/sandbox/posthog/api/projects/1/persons/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "a1b2c3d4-...",
  "distinct_ids": ["user-123"],
  "properties": { "plan": "pro" },
  "created_at": "2026-03-28T..."
}

Feature Flags

POST/api/feature_flags

Create a feature flag

Required fields

namekey

Example request

curl -X POST https://ghostbox.dev/sandbox/posthog/api/feature_flags \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "New Checkout",
    "key": "new-checkout",
    "active": true,
    "rollout_percentage": 50
  }'

Example response

{
  "id": "a1b2c3d4-...",
  "name": "New Checkout",
  "key": "new-checkout",
  "active": true,
  "rollout_percentage": 50,
  "filters": {},
  "created_at": "2026-03-28T..."
}
GET/api/feature_flags

List feature flags

Example request

curl https://ghostbox.dev/sandbox/posthog/api/feature_flags \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [{ "id": "...", "key": "new-checkout", ... }]
}
GET/api/feature_flags/:id

Get a feature flag

Example request

curl https://ghostbox.dev/sandbox/posthog/api/feature_flags/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

{
  "id": "a1b2c3d4-...",
  "key": "new-checkout",
  "active": true,
  ...
}
PATCH/api/feature_flags/:id

Update a feature flag

Example request

curl -X PATCH https://ghostbox.dev/sandbox/posthog/api/feature_flags/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "active": false }'

Example response

{
  "id": "a1b2c3d4-...",
  "key": "new-checkout",
  "active": false,
  ...
}
DELETE/api/feature_flags/:id

Delete a feature flag (soft delete)

Example request

curl -X DELETE https://ghostbox.dev/sandbox/posthog/api/feature_flags/a1b2c3d4-... \
  -H "Authorization: Bearer sandbox_test_..."

Example response

(204 No Content)
POST/decide

Evaluate all active flags for a user

Required fields

distinct_id

Example request

curl -X POST https://ghostbox.dev/sandbox/posthog/decide \
  -H "Authorization: Bearer sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "distinct_id": "user-123" }'

Example response

{
  "featureFlags": {
    "new-checkout": true,
    "dark-mode": false
  },
  "featureFlagPayloads": {},
  "errorsWhileComputingFlags": false
}

Mailchimp

Base URLhttps://ghostbox.dev/sandbox/mailchimp/3.0/*
AuthAuthorization: Basic base64(anyuser:sandbox_test_...)
Content-Typeapplication/json
PaginationOffset-based: count (max 1000), offset

Lists (Audiences)

POST/3.0/lists

Create a list

Required fields

name

Example request

curl -X POST https://ghostbox.dev/sandbox/mailchimp/3.0/lists \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter Subscribers" }'

Example response

{
  "id": "abc1234567",
  "web_id": 123456,
  "name": "Newsletter Subscribers",
  "contact": {
    "company": "Sandbox Company",
    "address1": "123 Test St",
    ...
  },
  "stats": { "member_count": 0, ... },
  ...
}
GET/3.0/lists

List all lists

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/lists \
  -u "anyuser:sandbox_test_..."

Example response

{
  "lists": [{ "id": "abc1234567", "name": "...", ... }],
  "total_items": 1
}
GET/3.0/lists/:id

Get a list

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567 \
  -u "anyuser:sandbox_test_..."

Example response

{
  "id": "abc1234567",
  "name": "Newsletter Subscribers",
  ...
}
PATCH/3.0/lists/:id

Update a list

Example request

curl -X PATCH https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567 \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Updated Newsletter" }'

Example response

{
  "id": "abc1234567",
  "name": "Updated Newsletter",
  ...
}
DELETE/3.0/lists/:id

Delete a list

Example request

curl -X DELETE https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567 \
  -u "anyuser:sandbox_test_..."

Example response

(204 No Content)

Members

POST/3.0/lists/:list_id/members

Add a member to a list

Required fields

email_addressstatus

Example request

curl -X POST https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567/members \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email_address": "user@example.com",
    "status": "subscribed",
    "merge_fields": { "FNAME": "Jane", "LNAME": "Doe" }
  }'

Example response

{
  "id": "def7890123",
  "email_address": "user@example.com",
  "status": "subscribed",
  "list_id": "abc1234567",
  "merge_fields": { "FNAME": "Jane", "LNAME": "Doe" },
  ...
}
GET/3.0/lists/:list_id/members

List members of a list

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567/members \
  -u "anyuser:sandbox_test_..."

Example response

{
  "members": [{ "id": "...", "email_address": "...", ... }],
  "list_id": "abc1234567",
  "total_items": 1
}
GET/3.0/lists/:list_id/members/:id

Get a member

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567/members/def7890123 \
  -u "anyuser:sandbox_test_..."

Example response

{
  "id": "def7890123",
  "email_address": "user@example.com",
  "status": "subscribed",
  ...
}
PATCH/3.0/lists/:list_id/members/:id

Update a member

Example request

curl -X PATCH https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567/members/def7890123 \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "status": "unsubscribed" }'

Example response

{
  "id": "def7890123",
  "email_address": "user@example.com",
  "status": "unsubscribed",
  ...
}
DELETE/3.0/lists/:list_id/members/:id

Remove a member

Example request

curl -X DELETE https://ghostbox.dev/sandbox/mailchimp/3.0/lists/abc1234567/members/def7890123 \
  -u "anyuser:sandbox_test_..."

Example response

(204 No Content)

Campaigns

POST/3.0/campaigns

Create a campaign

Required fields

type

Example request

curl -X POST https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "regular",
    "recipients": { "list_id": "abc1234567" },
    "settings": {
      "subject_line": "March Newsletter",
      "from_name": "Acme Inc",
      "reply_to": "hello@acme.com"
    }
  }'

Example response

{
  "id": "ghi4567890",
  "web_id": 654321,
  "type": "regular",
  "status": "save",
  "recipients": { "list_id": "abc1234567", ... },
  "settings": { "subject_line": "March Newsletter", ... },
  ...
}
GET/3.0/campaigns

List campaigns

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns \
  -u "anyuser:sandbox_test_..."

Example response

{
  "campaigns": [{ "id": "...", "type": "regular", ... }],
  "total_items": 1
}
GET/3.0/campaigns/:id

Get a campaign

Example request

curl https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns/ghi4567890 \
  -u "anyuser:sandbox_test_..."

Example response

{
  "id": "ghi4567890",
  "type": "regular",
  "status": "save",
  ...
}
PATCH/3.0/campaigns/:id

Update a campaign

Example request

curl -X PATCH https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns/ghi4567890 \
  -u "anyuser:sandbox_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "settings": { "subject_line": "Updated Subject" } }'

Example response

{
  "id": "ghi4567890",
  "settings": { "subject_line": "Updated Subject", ... },
  ...
}
DELETE/3.0/campaigns/:id

Delete a campaign

Example request

curl -X DELETE https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns/ghi4567890 \
  -u "anyuser:sandbox_test_..."

Example response

(204 No Content)
POST/3.0/campaigns/:id/actions/send

Send a campaign

Example request

curl -X POST https://ghostbox.dev/sandbox/mailchimp/3.0/campaigns/ghi4567890/actions/send \
  -u "anyuser:sandbox_test_..."

Example response

(204 No Content)