Requests
B2SHARE Requests API:s#
Get a request#
Get a specific request by id.
HTTP method: GET
URL path: /api/requests/<request-id>
Required parameters: request-id
Status code on success: 200
Returns: The request in a JSON format.
Command:
curl "https://$B2SHARE_HOST/api/requests/<request-id>"
{
"id": "request-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"actions": {},
"self": "https://b2share.eudat.eu/api/requests/request-id",
"self_html": "https://b2share.eudat.eu/requests/request-id",
"comments": "https://b2share.eudat.eu/api/requests/request-id/comments",
"timeline": "https://b2share.eudat.eu/api/requests/request-id/timeline"
},
"revision_id": 1,
"type": "community-submission",
"title": "Lorem ipsum dolor",
"number": "2h",
"status": "accepted",
"is_closed": true,
"is_open": false,
"expires_at": null,
"is_expired": false,
"created_by": {
"user": "user-id"
},
"receiver": {
"community": "community-id"
},
"topic": {
"record": "record-id"
}
}
Search requests#
Get all requests with a search query
HTTP method: GET
URL path: /api/requests
Required parameters: None
Optional parameters: q, sort, size, page
Status code on success: 200
Returns: A list of requests in a JSON format.
Command:
curl "https://$B2SHARE_HOST/api/requests"
{
"hits": {
"hits": [
{
"id": "request-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"actions": {},
"self": "https://b2share.eudat.eu/api/requests/request-id",
"self_html": "https://b2share.eudat.eu/requests/request-id",
"comments": "https://b2share.eudat.eu/api/requests/request-id/comments",
"timeline": "https://b2share.eudat.eu/api/requests/request-id/timeline"
},
"revision_id": 1,
"type": "community-submission",
"title": "Lorem ipsum dolor",
"number": "2h",
"status": "accepted",
"is_closed": true,
"is_open": false,
"expires_at": null,
"is_expired": false,
"created_by": {
"user": "user-id"
},
"receiver": {
"community": "community-id"
},
"topic": {
"record": "record-id"
}
},
...
],
"total": 31
},
"aggregations": {
"type": {
"buckets": [
{
"key": "community-submission",
"doc_count": 30,
"label": "Draft review",
"is_selected": false
},
{
"key": "community-invitation",
"doc_count": 1,
"label": "Member invitation",
"is_selected": false
}
],
"label": "Type"
},
"status": {
"buckets": [
{
"key": "accepted",
"doc_count": 23,
"label": "Accepted",
"is_selected": false
},
{
"key": "created",
"doc_count": 7,
"label": "created",
"is_selected": false
},
{
"key": "submitted",
"doc_count": 1,
"label": "Submitted",
"is_selected": false
}
],
"label": "Status"
}
},
"sortBy": "newest",
"links": {
"self": "https://b2share.eudat.eu/api/requests?page=1&size=25&sort=newest",
"next": "https://b2share.eudat.eu/api/requests?page=2&size=25&sort=newest"
}
}
Accept a request#
Accept a request.
HTTP method: POST
URL path: /api/requests/<request-id>/actions/accept
Required parameters: request-id
Request body: Payload that is a comment to the request
Status code on success: 200
Returns: The accepted request in JSON format.
Request body
{
"payload": {
"content": "Comment content",
"format": "html"
}
}
Command:
curl -XPOST -H "Content-Type:application/json" -d '{"payload": {"content": "Comment content", "format": "html"}}' "https://$B2SHARE_HOST/api/requests/request-id/actions/accept"
{
"id": "request-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"actions": {},
"self": "https://b2share.eudat.eu/api/requests/request-id",
"self_html": "https://b2share.eudat.eu/requests/request-id",
"comments": "https://b2share.eudat.eu/api/requests/request-id/comments",
"timeline": "https://b2share.eudat.eu/api/requests/request-id/timeline"
},
"revision_id": 1,
"type": "community-submission",
"title": "Lorem ipsum dolor",
"number": "2h",
"status": "accepted",
"is_closed": true,
"is_open": false,
"expires_at": null,
"is_expired": false,
"created_by": {
"user": "user-id"
},
"receiver": {
"community": "community-id"
},
"topic": {
"record": "record-id"
}
}
Decline a request#
Decline a request.
HTTP method: POST
URL path: /api/requests/<request-id>/actions/decline
Required parameters: request-id
Request body: Payload that is a comment to the request
Status code on success: 200
Returns: The declined request in JSON format.
Request body
{
"payload": {
"content": "Comment content",
"format": "html"
}
}
Command:
curl -XPOST -H "Content-Type:application/json" -d '{"payload": {"content": "Comment content", "format": "html"}}' "https://$B2SHARE_HOST/api/requests/request-id/actions/decline"
{
"id": "request-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"actions": {},
"self": "https://b2share.eudat.eu/api/requests/request-id",
"self_html": "https://b2share.eudat.eu/requests/request-id",
"comments": "https://b2share.eudat.eu/api/requests/request-id/comments",
"timeline": "https://b2share.eudat.eu/api/requests/request-id/timeline"
},
"revision_id": 1,
"type": "community-submission",
"title": "Lorem ipsum dolor",
"number": "2h",
"status": "declined",
"is_closed": true,
"is_open": false,
"expires_at": null,
"is_expired": false,
"created_by": {
"user": "user-id"
},
"receiver": {
"community": "community-id"
},
"topic": {
"record": "record-id"
}
}
Cancel a request#
Cancel a request.
HTTP method: POST
URL path: /api/requests/<request-id>/actions/cancel
Required parameters: request-id
Request body: Payload that is a comment to the request
Status code on success: 200
Returns: The accepted request in JSON format.
Request body
{
"payload": {
"content": "Comment content",
"format": "html"
}
}
Command:
curl -XPOST -H "Content-Type:application/json" -d '{"payload": {"content": "Comment content", "format": "html"}}' "https://$B2SHARE_HOST/api/requests/request-id/actions/cancel"
{
"id": "request-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"actions": {},
"self": "https://b2share.eudat.eu/api/requests/request-id",
"self_html": "https://b2share.eudat.eu/requests/request-id",
"comments": "https://b2share.eudat.eu/api/requests/request-id/comments",
"timeline": "https://b2share.eudat.eu/api/requests/request-id/timeline"
},
"revision_id": 1,
"type": "community-submission",
"title": "Lorem ipsum dolor",
"number": "2h",
"status": "cancelled",
"is_closed": true,
"is_open": false,
"expires_at": null,
"is_expired": false,
"created_by": {
"user": "user-id"
},
"receiver": {
"community": "community-id"
},
"topic": {
"record": "record-id"
}
}
Add a comment to a request#
Add a comment to a request.
HTTP method: POST
URL path: /api/requests/<request-id>/comments
Required parameters: request-id
Request body: payload
Status code on success: 201
Returns: The comment in JSON format.
Request body
{
"payload": {
"content": "Comment content",
"format": "html"
}
}
Command:
curl -XPOST -H "Content-Type:application/json" -d '{"payload": {"content": "Comment content", "format": "html"}}' "https://$B2SHARE_HOST/api/requests/request-id/comments"
{
"created_by": {"user": "user-id"},
"created": "2025-01-01 09:00:00.000000",
"id": "<comment-id>",
"links": {
"self": "https://b2share.eudat.eu/api/requests/<rquest-id>/comments/<comment-id>"
},
"payload": {
"content": "Comment content",
"format": "html"
},
"revision_id": 1,
"type": "C",
"updated": "2025-01-01 09:00:00.000000",
}
Get a comment of a request#
Get a comment of a request by comment id.
HTTP method: GET
URL path: /api/requests/<request-id>/comments/<comment-id>
Required parameters: request-id, comment-id
Status code on success: 200
Returns: The comment in JSON format.
Command:
curl "https://$B2SHARE_HOST/api/requests/request-id/comments/comment-id"
{
"created_by": {"user": "user-id"},
"created": "2025-01-01 09:00:00.000000",
"id": "<comment-id>",
"links": {
"self": "https://b2share.eudat.eu/api/requests/<rquest-id>/comments/<comment-id>"
},
"payload": {
"content": "Comment content",
"format": "html"
},
"revision_id": 1,
"type": "C",
"updated": "2025-01-01 09:00:00.000000",
}
Update a comment of a request#
…
HTTP method: PUT
URL path: /api/requests/<request-id>/comments/<comment-id>
Required parameters: request-id, comment-id
Request body: payload
Status code on success: 200
Returns: ...
Request body
{
"payload": {
"content": "Updated comment content",
"format": "html"
}
}
Command:
curl -XPUT -H "Content-Type:application/json" -d '{"payload": {"content": "Updated comment content", "format": "html"}}' "https://$B2SHARE_HOST/api/requests/request-id/comments/comment-id"
{
"created_by": {"user": "user-id"},
"created": "2025-01-01 09:00:00.000000",
"id": "<comment-id>",
"links": {
"self": "https://b2share.eudat.eu/api/requests/<rquest-id>/comments/<comment-id>"
},
"payload": {
"content": "Updated comment content",
"format": "html"
},
"revision_id": 2,
"type": "C",
"updated": "2025-01-02 09:00:00.000000",
}
Delete a comment of a request#
…
HTTP method: DELETE
URL path: /api/requests/<request-id>/comments/<comment-id>
Required parameters: request-id, comment-id
Status code on success: 204
Returns: No content
Command:
curl -XDELETE "https://$B2SHARE_HOST/api/requests/request-id/comments/comment-id"
Get timeline of a request#
…
HTTP method: GET
URL path: /api/requests/<request-id>/timeline
Required parameters: request-id
Status code on success: 200
Returns: Events of a request in JSON format
Command:
curl "https://$B2SHARE_HOST/api/requests/request-id/timeline"
{
"hits": {
"hits": [
{
"id": "comment-id",
"created": "2025-01-01T08:00:00.000000+00:00",
"updated": "2025-01-01T08:00:00.000000+00:00",
"links": {
"self": "https://b2share.eudat.eu/api/requests/request-id/comments/comment-id"
},
"revision_id": 1,
"type": "L",
"created_by": {
"user": "system"
},
"permissions": {},
"payload": {
"event": "accepted",
"format": "html"
}
},
{
"id": "comment-id",
"created": "2025-01-02T08:00:00.000000+00:00",
"updated": "2025-01-02T08:00:00.000000+00:00",
"links": {
"self": "https://b2share.eudat.eu/api/requests/request-id/comments/comment-id"
},
"revision_id": 1,
"type": "C",
"created_by": {
"user": "system"
},
"permissions": {
"can_update_comment": false,
"can_delete_comment": false
},
"payload": {
"content": "This request has been automatically accepted, as the uploader can submit to community directly without review.",
"format": "html"
}
}
],
"total": 2
},
"sortBy": "oldest",
"links": {
"self": "https://b2share.eudat.eu/api/requests/request-id/timeline?page=1&size=25&sort=oldest"
}
}
Last update : 18.11.2025
Last review : 18.11.2025