-
Notifications
You must be signed in to change notification settings - Fork 2
External API
The POST endpoint /api/collaborations/v1
can be used to create a new Collaboration. Use the API Key for the organisation to authenticate:
Authorization: Bearer ${API_KEY}
{
"name": "new_collaboration",
"description": "a description of the new CO",
"administrators": ["[email protected]", "[email protected]"],
"message": "Please join...",
"short_name": "new_short_name",
"expiration_date" : 1644015600,
"logo": "/9j/4AAQSkZJRgABA...",
"website_url": "https://web.nl",
"disable_join_requests": true,
"disclose_email_information": true,
"disclose_member_information": true,
}
The optional logo
is the base64 encoded binary image. The expiration_date
is the UNIX epoch divided by 1000. The admin of the Collaboration is one of the admins of the Organisation. The response:
{
"collaboration_memberships_count": 0,
"created_at": 1640681285.0,
"created_by": "urn:harry",
"description": "Description",
"disable_join_requests": true,
"disclose_email_information": true,
"disclose_member_information": true,
"expiry_date": 1644015600.0,
"global_urn": "uuc:new_short_name",
"id": 5558,
"identifier": "1c810012-b89b-4541-9336-19fab8951f3a",
"invitations_count": 1,
"last_activity_date": 1640681285.0,
"logo": "http://localhost:8080/api/images/collaborations/df49667f-769f-432d-95b6-ea310f0eec1d",
"name": "new_collaboration",
"organisation_id": 4072,
"short_name": "new_short_name",
"status": "active",
"updated_by": "urn:harry",
"uuid4": "df49667f-769f-432d-95b6-ea310f0eec1d",
"website_url": "https://web.nl"
}
The POST endpoint api/collaborations_services/v1/connect_collaboration_service
can be used to connect an existing Service to an existing Collaboration. Use the API Key for the organisation to authenticate:
curl -i -H "Content-Type: application/json" -H "Authorization: Bearer ${API_KEY}" -X PUT -d '{"short_name":"coll_short_name", "service_entity_id":"https://wiki"}' "http://localhost:8080/api/collaborations_services/v1/connect_collaboration_service"
HTTP/1.0 201 CREATED
{
"status": "connected|pending",
"collaboration": {
"organisation_short_name": "some_org",
"short_name": "coll_short_name",
}
"service": {
"entity_id": "http://wiki",
}
}
If the service does not allow automatic collaboration connections, then a service connection request is send to the service owners.The returned status is pending. Note for this to work there must be at least one admin user in the collaboration.
The PUT endpoint /api/invitations/v1/collaboration_invites
can be used to invite members to an existing Collaboration.
Use the API Key for the organisation to authenticate:
curl -i -H "Content-Type: application/json" -H "Authorization: Bearer kSOZTmFQuv_rLP5hAOmXwuKO0XGrdq6Fex6qGQ7Igiw" -X PUT -d '{"collaboration_id":14878, "invites":["[email protected]", "[email protected]", "invalid_email"]}' "http://localhost:8080/api/invitations/v1/collaboration_invites"
HTTP/1.0 201 CREATED
["[email protected]","[email protected]"]
The result is a list of emails where an invitation is send to. Optionally a message
can be included in the PUT body that will be part of the invitation email.
The intended role of the invitees is member
.