Topics API

Manage topic membership through authenticated endpoints.

Manage topic membership through authenticated endpoints.

Endpoints

MethodPathDescription
POST/api/v1/topics/:topicId/contactsAdd contact to topic
DELETE/api/v1/topics/:topicId/contacts/:emailOrIdRemove contact from topic

Add contact to topic

POST /api/v1/topics/:topicId/contacts

Body accepts either email or contactId:

{
  "email": "jane@example.com"
}

or

{
  "contactId": "j57..."
}

Success response:

{
  "data": {
    "success": true,
    "contactId": "j57...",
    "topicId": "k19...",
    "doiStatus": "pending"
  }
}

doiStatus can be:

  • not_required
  • pending
  • confirmed

Remove contact from topic

DELETE /api/v1/topics/:topicId/contacts/:emailOrId

emailOrId can be URL-encoded email or contact ID.

Success response:

{
  "data": {
    "success": true,
    "removed": true
  }
}