#type: collection
get:
  is: [ searchable: { searchFields: "desc" }, embeddable: { embedFields: "topic1,topic2,user" }, orderable, pageable ]
  responses:
    200:
      body:
        application/json:
          example: !include ../examples/synapses.json
post:
  body:
    application/json:
      properties:
        desc:
          description: name
        category:
          description: from to or both
        permission:
          description: commons, public, or private
        topic1_id:
          description: the topic being linked from
        topic2_id:
          description: the topic being linked to
        user_id:
          description: the creator of the topic
  responses:
    201:
      body:
        application/json:
          example: !include ../examples/synapse.json
/{id}:
  #type: item
  get:
    is: [ embeddable: { embedFields: "topic1,topic2,user" } ]
    responses:
      200:
        body:
          application/json:
            example: !include ../examples/synapse.json
  put:
    body:
      application/json:
        properties:
          desc:
            description: name
          category:
            description: from-to or both
          permission:
            description: commons, public, or private
          topic1_id:
            description: the topic being linked from
          topic2_id:
            description: the topic being linked to
          user_id:
            description: the creator of the topic
    responses:
      200:
        body:
          application/json:
            example: !include ../examples/synapse.json
  patch:
    body:
      application/json:
        properties:
          desc:
            description: name
          category:
            description: from-to or both
          permission:
            description: commons, public, or private
          topic1_id:
            description: the topic being linked from
          topic2_id:
            description: the topic being linked to
          user_id:
            description: the creator of the topic
    responses:
      200:
        body:
          application/json:
            example: !include ../examples/synapse.json
  delete:
    responses:
      204:
        description: No content