REST /api/v1/contact-chapters 7 endpoints
GET /api/v1/contact-chapters/api/v1/contact-chapters

List all contact-chapter memberships

Public

Response Example

{
  "data": [
    {
      "id": "ccm-001",
      "contact_id": "contact-8821",
      "chapter_id": "chapter-oslo",
      "joined_at": "2025-11-14T09:00:00Z",
      "status": "active"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 47
  }
}
GET /api/v1/contact-chapters/api/v1/contact-chapters/:id

Get a single contact-chapter membership by ID

Public

Response Example

{
  "id": "ccm-001",
  "contact_id": "contact-8821",
  "chapter_id": "chapter-oslo",
  "joined_at": "2025-11-14T09:00:00Z",
  "status": "active"
}
POST /api/v1/contact-chapters/api/v1/contact-chapters

Add a contact to a chapter

Public

Request Example

{
  "contact_id": "contact-8821",
  "chapter_id": "chapter-bergen"
}

Response Example

{
  "id": "ccm-048",
  "contact_id": "contact-8821",
  "chapter_id": "chapter-bergen",
  "joined_at": "2026-03-26T12:34:00Z",
  "status": "active",
  "created_at": "2026-03-26T12:34:00Z"
}
PUT /api/v1/contact-chapters/api/v1/contact-chapters/:id

Update a contact-chapter membership (e.g. change status)

Public

Request Example

{
  "status": "inactive"
}

Response Example

{
  "id": "ccm-048",
  "contact_id": "contact-8821",
  "chapter_id": "chapter-bergen",
  "joined_at": "2026-03-26T12:34:00Z",
  "status": "inactive",
  "updated_at": "2026-03-26T14:00:00Z"
}
DELETE /api/v1/contact-chapters/api/v1/contact-chapters/:id

Remove a contact from a chapter

Public

Response Example

{
  "deleted": true,
  "id": "ccm-048"
}
GET /api/v1/contact-chapters/api/v1/contact-chapters/by-contact/:contactId

Get all chapters a contact belongs to

Public

Response Example

{
  "data": [
    {
      "id": "ccm-001",
      "contact_id": "contact-8821",
      "chapter_id": "chapter-oslo",
      "chapter_name": "Oslo Chapter",
      "joined_at": "2025-11-14T09:00:00Z",
      "status": "active"
    },
    {
      "id": "ccm-002",
      "contact_id": "contact-8821",
      "chapter_id": "chapter-stavanger",
      "chapter_name": "Stavanger Chapter",
      "joined_at": "2025-12-01T08:00:00Z",
      "status": "active"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/contact-chapters/api/v1/contact-chapters/by-chapter/:chapterId

Get all contacts belonging to a chapter

Public

Response Example

{
  "data": [
    {
      "id": "ccm-001",
      "contact_id": "contact-8821",
      "contact_name": "Marta Lindqvist",
      "chapter_id": "chapter-oslo",
      "joined_at": "2025-11-14T09:00:00Z",
      "status": "active"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 134
  }
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}