.. include:: api/pageplace.bosh-bosh-rest-v2-registerhw.rst
.. include:: api/pageplace.bosh-bosh-rest-v2-resellerconfig.rst
.. include:: api/pageplace.family-v1-family.rst
+.. include:: api/pageplace.family-v1-family-post.rst
+.. include:: api/pageplace.family-v1-family-members-xxx.rst
.. include:: api/pageplace.family-v1-myself.rst
+.. include:: api/pageplace.family-v1-myself-put.rst
.. include:: api/pageplace.family-v1-shares.rst
+.. include:: api/pageplace.family-v1-shares-delete.rst
+.. include:: api/pageplace.family-v1-shares-post.rst
.. include:: api/pageplace.inventory-v2-inventory.rst
.. include:: api/thalia-auth-oauth2-authorize.rst
.. include:: api/thalia-auth-oauth2-token-post.rst
--- /dev/null
+============================================================
+``DELETE https://family.pageplace.de/v1/family/members/xxx``
+============================================================
+
+Remove someone from own family.
+
+
+Request
+=======
+Header
+ See `family v1 header set`_.
+
+``xxx``
+ Family member ID. Example: ``90498``
+
+
+Response
+========
+Success
+-------
+HTTP status code ``200 OK``.
+
+No response body (status code thus should be 204).
+
+
+Removing non-member
+-------------------
+Status code: ``401 Unauthorized``. No response body.
+
+
+Missing OAuth token
+-------------------
+Status code: ``401 Unauthorized``. Body::
+
+ {
+ "timestamp":"2021-04-08T15:52:13.186+00:00",
+ "status":403,
+ "error":"Forbidden",
+ "message":"",
+ "path":"/v1/family/members/90490"
+ }
--- /dev/null
+{
+ "maxMembers": 6,
+ "members": [
+ {
+ "membershipId": 67675,
+ "nickname": "devnew"
+ },
+ {
+ "membershipId": 90498,
+ "nickname": "Ebookde"
+ },
+ {
+ "membershipId": 67674,
+ "nickname": "oldtest"
+ }
+ ]
+}
--- /dev/null
+==============================================
+``POST https://family.pageplace.de/v1/family``
+==============================================
+
+Add someone to a family.
+
+To add a family member, an OAuth token with scope ``family`` needs to be
+obtained.
+
+
+Request
+=======
+Header
+ See `family v1 header set`_.
+
+Body
+ JSON encoded object.
+
+ ``resellerId``
+ Example: ``81``
+ ``token``
+ Example: ``eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJ3...hGCE8Yc6g``
+
+
+Response
+========
+HTTP status code ``200 OK``.
+
+All family members are returned.
+
+Family with 3 members
+---------------------
+Example:
+
+.. include:: pageplace.family-v1-family-post.response.json
+ :code:
--- /dev/null
+{
+ "nickname": "devnew"
+}
--- /dev/null
+{
+ "membershipId": 67675,
+ "nickname": "devnew"
+}
--- /dev/null
+=============================================
+``PUT https://family.pageplace.de/v1/myself``
+=============================================
+
+Rename myself in the family.
+
+
+Request
+=======
+Header
+ See `family v1 header set`_.
+
+Body
+ JSON-Encoded. Structure:
+
+ ``nickname``
+ New own name
+
+
+.. include:: pageplace.family-v1-myself-put.request.json
+ :code:
+
+Response
+========
+HTTP status code ``200 OK``.
+
+.. include:: pageplace.family-v1-myself-put.response.json
+ :code:
--- /dev/null
+================================================
+``DELETE https://family.pageplace.de/v1/shares``
+================================================
+
+Un-share a book.
+
+
+Request
+=======
+Header
+ See `family v1 header set`_.
+GET parameters
+ ``pubid``
+ Example: ``DT0400.9783641243609_A40398678``
+ ``receiver``
+ Example: ``67674``
+ ``sharer``
+ Example: ``67675``
+
+No body.
+
+Response
+========
+HTTP status code ``200 OK``.
+
+No response body (thus status code should better be 204).
--- /dev/null
+{
+ "shares": [
+ {
+ "publicationId": "DT0400.9783641243609_A40398678",
+ "receiver": "67674"
+ }
+ ]
+}
--- /dev/null
+==============================================
+``POST https://family.pageplace.de/v1/shares``
+==============================================
+
+Share a book with a family member
+
+
+Request
+=======
+Header
+ See `family v1 header set`_.
+
+Body
+ JSON-Encoded. Structure:
+
+ ``shares``
+ Array of books to share (each an object)
+
+ ``publicationId``
+ Example: ``DT0400.9783641243609_A40398678``
+ ``receiver``
+ Example: ``67674``
+
+
+.. include:: pageplace.family-v1-shares-post.request.json
+ :code:
+
+Response
+========
+HTTP status code ``200 OK``.
+
+No response body (thus status code should better be 204).
--- /dev/null
+[
+ {
+ "type": "RECEIVED",
+ "publicationId": "DT0400.9783739616957_A25832535",
+ "sharer": {
+ "membershipId": 67674,
+ "nickname": "oldtest"
+ },
+ "receivers": [
+ {
+ "membershipId": 67675,
+ "nickname": "devnew"
+ }
+ ]
+ },
+ {
+ "type": "SHARED",
+ "publicationId": "DT0400.9783739673417_A27522964",
+ "sharer": {
+ "membershipId": 67675,
+ "nickname": "devnew"
+ },
+ "receivers": [
+ {
+ "membershipId": 67674,
+ "nickname": "oldtest"
+ }
+ ]
+ },
+ {
+ "type": "SHARED",
+ "publicationId": "DT0400.9783641243609_A40398678",
+ "sharer": {
+ "membershipId": 67675,
+ "nickname": "devnew"
+ },
+ "receivers": [
+ {
+ "membershipId": 67674,
+ "nickname": "oldtest"
+ }
+ ]
+ }
+]
--------------
Example:
-.. include:: pageplace.family-v1-shares.response-2books.json
+.. include:: pageplace.family-v1-shares.response.json
:code: