docs: def v1_label_put(request, response, visid_to_dbid, config, label_hooks,
                   label_store, cid1, cid2, annotator_id):
      '''Store a single label.
  
      The route for this endpoint is:
      ``PUT /dossier/v1/labels/<content_id1>/<content_id2>/<annotator_id>``.
  
      ``content_id`` are the ids of the feature collections to
      associate. ``annotator_id`` is a string that identifies the
      human that created the label. The value of the label should
      be in the request body as one of the following three values:
      ``-1`` for not coreferent, ``0`` for "I don't know if they
      are coreferent" and ``1`` for coreferent.
  
      Optionally, the query parameters ``subtopic_id1`` and
      ``subtopic_id2`` may be specified. Neither, both or either may
      be given. ``subtopic_id1`` corresponds to a subtopic in
      ``content_id1`` and ``subtopic_id2`` corresponds to a subtopic
      in ``content_id2``.
  
      This endpoint returns status ``201`` upon successful storage.
      Any existing labels with the given ids are overwritten.
      '''
      coref_value = CorefValue(int(request.body.read()))
      lab = Label(visid_to_dbid(cid1), visid_to_dbid(cid2),
                  annotator_id, coref_value,
                  subtopic_id1=request.query.get('subtopic_id1'),
                  subtopic_id2=request.query.get('subtopic_id2'))
      label_store.put(lab)
      response.status = 201