Dynamite Circle Membership API

The Membership API from Dynamite Circle — 2 operation(s) for membership.

Operations 2

GET /membership Get your membership state #
GET /membership/invoices List your Stripe invoices #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dynamitecircle-com:dynamitecircle-com-membership-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dynamitecircle-com-membership-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: DC Team
    url: https://dc.dynamitecircle.com
  description: 'Programmatic access to your DC membership data — trips, events, profile, announcements, and more. Designed for AI assistants, automation, and personal integrations. > **For ALL active DC members.** Every active DC member is eligible from day one — DC, DC BLACK, and trial accounts alike. ## What this is for


    The DC Member API is for **personal use** — wiring DC into your own AI assistant, scripting personal automations, pulling your own data into your own dashboards. Think "give my Claude/Codex/Cursor access to my DC trips and announcements" or "auto-update my DC trip when I book a flight."


    **It is not for:**


    - Building apps that other DC members log into (use the official DC app)

    - Crawling, scraping, or bulk-exporting member data

    - Building an alternative DC client

    - Public-facing services running on top of the API


    We **augment, we don''t replace** — the API gives you awareness and convenience, then sends you to the app for the real interactions. Human stuff stays in the app: no message content, no DM access, no bulk profile browsing, no discussion threads. **Rate limits are strict on purpose.** They''re sized for personal automation, not application traffic. We''ll loosen them once we see real usage patterns — if you hit a wall, email the DC developer team at **bugs+api@dynamitecircle.com** and we''ll sort you out. ## Connect to Claude & other AI apps (hosted MCP)


    This API is also a hosted MCP server — add it as a connector in Claude, Cursor, ChatGPT, or any MCP-compatible app and your assistant can read and act on your DC data directly. **No install.** When prompted, **sign in with your DC account** (one-click OAuth) — or paste a `dk_` API key. Every endpoint below is exposed as a tool. **Connector URL** (Streamable HTTP): `https://api.dynamitecircle.com/mcp`


    - **Claude (web, Desktop & mobile):** Settings → Connectors → **Add custom connector** → paste the URL → **Connect**, then sign in with your DC account. (Paid Claude plan; on Team/Enterprise an admin may need to approve it first.)

    - **Claude Code:** `claude mcp add --transport http dc https://api.dynamitecircle.com/mcp`

    - **Cursor, ChatGPT & other MCP apps:** add a custom / remote MCP connector pointing at the URL above (Streamable HTTP). Discovery is published at `/.well-known/mcp.json`. **What you can do once connected** — ask in plain language, e.g. "Which DCBKK sessions have I bookmarked?", "Add a trip to Lisbon and show me which DCers will be around", "RSVP me to the next Bangkok meetup", "Summarize the latest announcements." Reads run freely; writes do exactly what the matching endpoint documents. Access is scoped to **you** — the connector only ever sees your own membership data. ## Official client — Agent Skill, CLI, Python library, MCP server


    The fastest way to use this API — and to plug it into Claude Code, Codex CLI, Gemini CLI, Cursor, GitHub Copilot, or Claude Desktop — is the **official DC client**. One self-contained Python file, stdlib only, that ships as **four integrations from the same source**: Agent Skill (auto-discovered via SKILL.md), CLI (`dc …`), Python library (`from dc import DC`), and MCP server (`dc --mcp`, optional `mcp` dep). **Install via PyPI** (easiest):


    ```bash

    pip install dynamitecircle

    dc setup --api-key dk_your_api_key

    dc self-test

    dc profile

    ```


    The package is published on PyPI as `dynamitecircle` — same code as the repo, version-locked to the deployed API.'
  title: DC Member Membership API
  version: 2.6.11
servers:
- description: Production
  url: https://api.dynamitecircle.com
security:
- ApiKeyAuth: []
tags:
- name: Membership
paths:
  /membership:
    get:
      description: 'Returns your full membership state: role, lifecycle dates, trial status, billing/subscription details, and a link to the Stripe Customer Portal where you can manage your subscription, payment methods, and download invoices.'
      operationId: get_membership
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  membership:
                    type: object
                    description: Full membership state
                    properties:
                      userID:
                        type: string
                        description: Member ID
                      joinedDate:
                        type: string
                        description: Earliest membership start date (ISO 8601).
                      role:
                        type: object
                        description: Role label + machine-readable key
                        properties:
                          label:
                            type: string
                            description: Human-readable role label, e.g. "DC Member", "DC BLACK Member"
                          key:
                            type: string
                            description: 'Stable key: dcc | black | free | trial | event-guest | inactive | admin | unknown'
                      isActive:
                        type: boolean
                        description: Whether the member is currently active
                      isStaff:
                        type: boolean
                        description: Member is on the DC team
                      isAdmin:
                        type: boolean
                        description: Member has admin privileges
                      isExpired:
                        type: boolean
                        description: Membership has expired
                      isCanceled:
                        type: boolean
                        description: Membership has been canceled
                      isInactive:
                        type: boolean
                        description: Member is inactive
                      dcBlack:
                        type: object
                        description: DC BLACK tier membership state
                        properties:
                          isMember:
                            type: boolean
                            description: Currently a DC BLACK member
                          joinedDate:
                            type: string
                            description: When the member joined DC BLACK (ISO)
                          leftDate:
                            type: string
                            description: When the member left DC BLACK (ISO)
                      trial:
                        type: object
                        description: Trial state (if any)
                        properties:
                          isOnTrial:
                            type: boolean
                            description: Currently on a trial
                          wasOnTrial:
                            type: boolean
                            description: Has been on a trial in the past
                          mode:
                            type: string
                            description: 'Trial mode: manual | stripe | none'
                          startDate:
                            type: string
                            description: Trial start (ISO)
                          endDate:
                            type: string
                            description: Trial end (ISO)
                          daysLeft:
                            type: number
                            description: Days remaining in trial
                          duration:
                            type: number
                            description: Total trial duration in days
                          progressPct:
                            type: number
                            description: Trial progress as a fraction from 0 (just started) to 1 (ended)
                      billing:
                        type: object
                        description: Billing / subscription details
                        properties:
                          status:
                            type: string
                            description: 'Subscription status: active | trialing | past_due | unpaid | canceled | paused | incomplete | incomplete_expired | no_subscription | free | scheduled | chargify | paypal'
                          provider:
                            type: string
                            description: 'Payment provider: stripe | paypal | chargify | free | none'
                          isStripe:
                            type: boolean
                            description: Member is billed via Stripe
                          isPaypal:
                            type: boolean
                            description: Member is on legacy PayPal billing
                          isChargify:
                            type: boolean
                            description: Member is on legacy Chargify billing
                          amount:
                            type: number
                            description: Recurring amount in the smallest currency unit (e.g. cents)
                          amountFormatted:
                            type: string
                            description: Pre-formatted amount, e.g. "$999.00"
                          currency:
                            type: string
                            description: ISO 4217 currency code, e.g. "USD"
                          interval:
                            type: string
                            description: Billing interval base unit, e.g. "month", "year"
                          intervalCount:
                            type: number
                            description: Interval multiplier, e.g. 3 for quarterly
                          frequency:
                            type: string
                            description: 'Plan frequency: annual | monthly | quarterly | semiannual | biennial | triennial | quinquennial'
                          planName:
                            type: string
                            description: Plan name, e.g. "DC Community — Annual"
                          planDescription:
                            type: string
                            description: Plan description
                          currentPeriodStart:
                            type: string
                            description: Current billing period start (ISO)
                          currentPeriodEnd:
                            type: string
                            description: Current billing period end (ISO)
                          currentPeriodNo:
                            type: number
                            description: Which billing period we are on
                          currentPeriodPct:
                            type: number
                            description: Progress through the current billing period as a fraction from 0 to 1
                          nextBillingDate:
                            type: string
                            description: Next renewal/charge date (ISO). Same as currentPeriodEnd in most cases.
                          daysTillRenewal:
                            type: number
                            description: Days until the next charge
                          subscriptionStartDate:
                            type: string
                            description: When the subscription started (ISO)
                          subscriptionEndDate:
                            type: string
                            description: When the subscription ended (ISO, if it has)
                          memberPeriodNo:
                            type: number
                            description: Number of completed renewals
                          hasMultipleSubscriptions:
                            type: boolean
                            description: True if the member has 2+ active subscriptions
                          totalSubscriptions:
                            type: number
                            description: Total active subscription count
                      links:
                        type: object
                        description: Useful URLs
                        properties:
                          manageBillingURL:
                            type: string
                            description: Stripe Customer Portal login URL — manage subscription, payment methods, download invoices. Null for legacy paypal/chargify members.
                          profileURL:
                            type: string
                            description: Public profile URL
                type: object
          description: Success
        '401':
          description: Unauthorized — missing or invalid API key
        '403':
          description: Forbidden — inactive membership or not eligible
        '429':
          description: Rate limit exceeded
      summary: Get your membership state
      tags:
      - Membership
  /membership/invoices:
    get:
      description: Returns your Stripe invoices, newest first. Each entry includes a hosted-invoice URL and a PDF link, both safe to share — perfect for self-serve receipts. Returns an empty array for legacy paypal/chargify members or members with no Stripe customer.
      operationId: get_membership_invoices
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  invoices:
                    items:
                      type: object
                    type: array
                    description: Array of Stripe invoices, newest first
                    properties:
                      invoiceID:
                        type: string
                        description: Stripe invoice ID
                      number:
                        type: string
                        description: Human invoice number, e.g. "DC-0042"
                      status:
                        type: string
                        description: 'Status: draft | open | paid | uncollectible | void'
                      amount:
                        type: number
                        description: Total amount in the smallest currency unit (e.g. cents)
                      amountFormatted:
                        type: string
                        description: Pre-formatted amount, e.g. "$999.00"
                      currency:
                        type: string
                        description: ISO 4217 currency code
                      paid:
                        type: boolean
                        description: True if the invoice is fully paid
                      date:
                        type: string
                        description: Invoice creation date (ISO 8601)
                      periodStart:
                        type: string
                        description: Billing period start (ISO 8601)
                      periodEnd:
                        type: string
                        description: Billing period end (ISO 8601)
                      hostedInvoiceURL:
                        type: string
                        description: Hosted invoice page — safe to share, used for online payment + receipt download
                      invoicePDF:
                        type: string
                        description: Direct PDF link to the invoice
                      description:
                        type: string
                        description: Plan / line-item description
                type: object
          description: Success
        '401':
          description: Unauthorized — missing or invalid API key
        '403':
          description: Forbidden — inactive membership or not eligible
        '429':
          description: Rate limit exceeded
      summary: List your Stripe invoices
      tags:
      - Membership
      parameters:
      - description: Max results (1-100)
        in: query
        name: limit
        required: false
        schema:
          default: '20'
          type: number
components:
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: dk_<userID>_<random>
      description: 'Your DC Member API key. Generate one from the user menu inside the DC member area (admin/tester access required). Send it as `Authorization: Bearer dk_your_api_key`.'
      scheme: bearer
      type: http