SlideShare a Scribd company logo
1 of 23
Store and Publish Research Data
b2share.eudat.eu
www.eudat.euEUDAT receives funding from the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures. Contract No. 654065
B2SHARE REST API
How to store and publish research data
using the B2SHARE REST API
This work is licensed under the Creative
Commons CC-BY 4.0 licence
Version 1
June 2017
b2share.eudat.eu
B2SHARE is...
… a user-friendly, reliable and
trustworthy way for researchers,
scientific communities and scientists to
store and publish research data from
diverse contexts
2
b2share.eudat.eu
What is the B2SHARE REST API?
The B2SHARE REST API is a set of instructions to interact
with a B2SHARE service instance
The B2SHARE REST API:
Provides direct remote interaction with the service without
using a graphical user interface
Allows integration within application or data processing
workflows for automation of publishing tasks
Supports any programming language or operating system
that supports HTTP requests
There is no limitation on usage and number of calls, even for
unregistered users
To create new or modify existing content, registration is
required
4
b2share.eudat.eu
What can I do with the B2SHARE
API?
List all existing records and communities
Search for specific records and communities
Retrieval of community-specific information
Including community metadata schemas
Create new draft records
Upload files to draft records
Add metadata using metadata schemas
Publish draft records
Modification of the metadata of existing records
5
b2share.eudat.eu
What is an API?
An Application Programming Interface (API) is a
specification of a set of definitions, protocols and tools to
interact with a service, possibly from a remote location
Provides an abstraction of the underlying service technologies
used by the service itself and external applications
HTTP requests return machine-readable structures of data
representing the current state of a piece of information, or
after altering it on request
Returned data is provided in specific formats like XML or
JSON
Any browser is using requests in order to get information from
a server and to present it to the user
6
b2share.eudat.eu
HTTP requests
A specific call to a service through an API using a HTTP
request method with address and parameters
An address is a URL with optionally additional parameters:
URL = protocol + hostname + port + path
Protocol: always http:// or https://
Hostname: base address, e.g. b2share.eudat.eu
Port: sometimes required specifically, usually 80
Path: endpoint specification, e.g. api/record/1
Parameters are additional options given to the request
Every request returns a HTTP status code and response text,
even when an error occurred
On success the current state of the requested piece of
information is provided
7
b2share.eudat.eu
HTTP requests (2)
Several HTTP request methods possible, e.g.:
GET: get data of specified resource
POST: submit data to be processed for specified
resource
PUT: upload representation of URI (e.g. file)
PATCH: modify (meta)data of specified source
For different operations, use different methods
The B2SHARE service accepts payloads along with a
HTTP request, e.g. text, binary data, files
8
b2share.eudat.eu
Making a request
Requests can be made by using a specific application
directly (e.g. a browser) or by using a programming
language that supports making requests in code
Example applications:
GUI: any file transfer application or web interface
Command line: cURL, wGet
Almost all programming languages support making
requests over HTTP
For more complex operations (like publication), a
dedicated interface or command line application is
required
9
b2share.eudat.eu
Making a request
10
Browser CLI tool
Your app or
workflow
HTTP response:
- Header
- Status code
- Response text
HTTP request:
- Request method
- Header
- URI & parameters
- Authentication
- Payloads
Server
Client
b2share.eudat.eu
Important concepts of B2SHARE
Communities:
Curate datasets which are part of the scientific domain or a
research project
Maintain their own metadata schemas and have community
administrators
Records:
Contain data files and associated metadata
Connected to a community which maintains it
Metadata:
Set of common fixed metadata fields and custom metadata
blocks with additional fields
Governed by fixed and community metadata schemas
States:
Current condition of a record, either draft, submitted or published
Can be changed through the API
11
b2share.eudat.eu
B2SHARE request variables
B2SHARE defines several request variables that
function as identifiers for objects in B2SHARE
Used in most HTTP request addresses as part of the
path to access specific objects directly
Most important variables:
COMMUNITY_ID: identifier of a user community
RECORD_ID: identifier for a specific record, in either
state
FILE_BUCKET_ID: identifier for a set of files of a
specific record
12
b2share.eudat.eu
Community metadata schemas
Every community defines its own metadata schema
Metadata schemas:
Contain descriptions, vocabularies and expected
structure and format of every metadata field
Define which fields are mandatory to fill in
Definitions are publically available
13
b2share.eudat.eu
Adding metadata
Metadata is added to a record using the API:
Upon creation of a draft record
Or by providing so-called JSON patches in a request
Patches modify the current state of the metadata by either
changing, adding or removing fields and values
The structure of the data provided in the patch request must
strictly follow the
metadata schema of the
community
As many patches as necessary
can be applied before
publishing your draft record
14
Add
metadata
Draft
record
b2share.eudat.eu
Adding files
Files can be added during the draft phase of your new
record using a PUT request
Files are uploaded into the file bucket of the draft
record, not the draft record itself
Use the file bucket ID found in the metadata of the
draft record
Files are uploaded one-by-one in separate requests
As many file upload requests
as necessary can be made
before publishing your draft
record
15
Add files
Draft
record
b2share.eudat.eu
Publishing your draft record
Draft records are published by altering the value of the
publication state in the metadata
Once your record is published:
The included files can not be changed anymore!
No new files can be added!
Metadata can be changed after publication, but will
create a new version of your published record
Persistent identifiers are automatically added
16
Commit
Draft
record
Published
record
b2share.eudat.eu
Authentication through the API
B2SHARE does not accept username and password
combination, instead use tokens for authentication!
B2SHARE contains open and restricted data:
Public: all published records and metadata, most files
No access token required
Private: your draft records and files in private records
Only accessible using your access token as parameter
in HTTP request
Access tokens:
Automatically generated unique string of characters
attached to your account in B2SHARE
Unlimited number of tokens can be generated
Only known by the owner, do not share with others!
17
b2share.eudat.eu
Getting your access token
Log in on B2SHARE and navigate to profile page:
Create a token by entering a new name:
Click on ‘New token’
Note: the token will only be shown once, so store it safely!
b2share.eudat.eu
Simple examples (1)
Protocol and host: https://trng-b2share.eudat.eu
Application: curl (using command-line interface)
HTTP method: GET
Retrieve all existing records:
List all communities:
Search for specific records of a community:
19
curl –X GET https://trng-b2share.eudat.eu/api/records
curl –X GET https://trng-b2share.eudat.eu/api/records? 
q=community:COMMUNITY_ID
curl –X GET https://trng-b2share.eudat.eu/api/communities
b2share.eudat.eu
Simple examples (2)
Get a specific record:
List all your draft records:
Access token required!
List files of specific record:
FILE_BUCKET_ID required!
20
curl –X GET https://trng-b2share.eudat.eu/api/records/RECORD_ID
curl –X GET https://trng-b2share.eudat.eu/api/files/  FILE_BUCKET_ID
curl –X GET https://trng-b2share.eudat.eu/api/records? 
drafts=1&access_token=ACCESS_TOKEN
b2share.eudat.eu
Full publication workflow
Publishing in B2SHARE using the API involves multiple
steps:
Identify a target community for your data
Retrieve the metadata schema definition of the
community
The submitted metadata will have to conform to
this schema
Create a draft record:
Upload files into the draft record (one by one)
Add metadata according to schema (possibly in
multiple steps)
Publish the record
21
b2share.eudat.eu
Full publication workflow diagram
22
Create
draft
Add metadata
Add files
POST /api/records
GET /api/records/RECORD_ID/draft
PATCH /api/records/RECORD_ID/draft
PUT
/api/records/FILE_BUCKET_ID/FILE_NAME
Commit
Published
record
PATCH /api/records/RECORD_ID/draft
Draft
record
PID
Checksum
Needs
approval?
Submitted
record
Community
Approve
NO
YES
b2share.eudat.eu
For more info: https://eudat.eu/services/b2share
B2SHARE User Documentation:
https://eudat.eu/services/userdoc/b2share
B2SHARE Training presentations:
https://www.eudat.eu/b2share-training-suite
B2SHARE hands-on training:
https://github.com/EUDAT-Training/B2SHARE-Training
23
www.eudat.eu
This work is licensed under the Creative Commons CC-BY 4.0 licence
EUDAT receives funding from the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures.
Contract No. 654065
Authors Contributors
Hans van Piggelen, SURFsara
Thank you!

More Related Content

Similar to B2SHARE REST API - New ppt available at https://www.slideshare.net/EUDAT/eudat-b2share-api-how-to-store-and-publish-research-data-using-the-b2share-api

B2SHARE REST API
B2SHARE REST API B2SHARE REST API
B2SHARE REST API EUDAT
 
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)EUDAT
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol BasicChuong Mai
 
From ZERO to REST in an hour
From ZERO to REST in an hour From ZERO to REST in an hour
From ZERO to REST in an hour Cisco DevNet
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsIdo Flatow
 
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Gaurav Bhardwaj
 
Building Restful Applications Using Php
Building Restful Applications Using PhpBuilding Restful Applications Using Php
Building Restful Applications Using PhpSudheer Satyanarayana
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Mario Cardinal
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009Cathie101
 
CC Technology Summit 3 Update
CC Technology Summit 3 UpdateCC Technology Summit 3 Update
CC Technology Summit 3 UpdateNathan Yergler
 
ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)Protect724tk
 

Similar to B2SHARE REST API - New ppt available at https://www.slideshare.net/EUDAT/eudat-b2share-api-how-to-store-and-publish-research-data-using-the-b2share-api (20)

B2SHARE REST API
B2SHARE REST API B2SHARE REST API
B2SHARE REST API
 
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)
B2SHARE REST API Hands-on - EUDAT Summer School (Hans van Piggelen, SURFsara)
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol Basic
 
From ZERO to REST in an hour
From ZERO to REST in an hour From ZERO to REST in an hour
From ZERO to REST in an hour
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
ETH Zurich's DOI Desk
ETH Zurich's DOI DeskETH Zurich's DOI Desk
ETH Zurich's DOI Desk
 
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle
 
11 asp.net web api
11 asp.net web api11 asp.net web api
11 asp.net web api
 
www and http services
www and http serviceswww and http services
www and http services
 
WebApp #3 : API
WebApp #3 : APIWebApp #3 : API
WebApp #3 : API
 
Appl layer
Appl layerAppl layer
Appl layer
 
Building Restful Applications Using Php
Building Restful Applications Using PhpBuilding Restful Applications Using Php
Building Restful Applications Using Php
 
contentDM
contentDMcontentDM
contentDM
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
CC Technology Summit 3 Update
CC Technology Summit 3 UpdateCC Technology Summit 3 Update
CC Technology Summit 3 Update
 
HTTP Basics
HTTP BasicsHTTP Basics
HTTP Basics
 
CGI by rj
CGI by rjCGI by rj
CGI by rj
 
ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)
 

More from EUDAT

EUDAT_Brochure_Generica_Jan_UPDATED(5).pdf
EUDAT_Brochure_Generica_Jan_UPDATED(5).pdfEUDAT_Brochure_Generica_Jan_UPDATED(5).pdf
EUDAT_Brochure_Generica_Jan_UPDATED(5).pdfEUDAT
 
EUDAT Booklet Mar22 (2).pdf
EUDAT Booklet Mar22 (2).pdfEUDAT Booklet Mar22 (2).pdf
EUDAT Booklet Mar22 (2).pdfEUDAT
 
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdf
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdfEUDAT_Brochure_Generica_Jan_UPDATED (1).pdf
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdfEUDAT
 
EUDAT Brochure - B2HANDLE.pdf
EUDAT Brochure - B2HANDLE.pdfEUDAT Brochure - B2HANDLE.pdf
EUDAT Brochure - B2HANDLE.pdfEUDAT
 
EUDAT Brochure - B2DROP.pdf
EUDAT Brochure - B2DROP.pdfEUDAT Brochure - B2DROP.pdf
EUDAT Brochure - B2DROP.pdfEUDAT
 
EUDAT Brochure - B2SHARE.pdf
EUDAT Brochure - B2SHARE.pdfEUDAT Brochure - B2SHARE.pdf
EUDAT Brochure - B2SHARE.pdfEUDAT
 
EUDAT Brochure - B2SAFE.pdf
EUDAT Brochure - B2SAFE.pdfEUDAT Brochure - B2SAFE.pdf
EUDAT Brochure - B2SAFE.pdfEUDAT
 
EUDAT Brochure - B2FIND(1).pdf
EUDAT Brochure - B2FIND(1).pdfEUDAT Brochure - B2FIND(1).pdf
EUDAT Brochure - B2FIND(1).pdfEUDAT
 
EUDAT Brochure - B2ACCESS.pdf
EUDAT Brochure - B2ACCESS.pdfEUDAT Brochure - B2ACCESS.pdf
EUDAT Brochure - B2ACCESS.pdfEUDAT
 
Rob Carrillo - Writing effective service documentation for EUDAT services
Rob Carrillo - Writing effective service documentation for EUDAT servicesRob Carrillo - Writing effective service documentation for EUDAT services
Rob Carrillo - Writing effective service documentation for EUDAT servicesEUDAT
 
Ariyo - EUDAT CDI B2 services documentation
Ariyo - EUDAT CDI B2 services documentationAriyo - EUDAT CDI B2 services documentation
Ariyo - EUDAT CDI B2 services documentationEUDAT
 
Introduction to eudat and its services
Introduction to eudat and its servicesIntroduction to eudat and its services
Introduction to eudat and its servicesEUDAT
 
Using B2NOTE: The U.Porto Pilot
Using B2NOTE: The U.Porto PilotUsing B2NOTE: The U.Porto Pilot
Using B2NOTE: The U.Porto PilotEUDAT
 
OpenAIRE Advance - Kick off last week
OpenAIRE Advance - Kick off last weekOpenAIRE Advance - Kick off last week
OpenAIRE Advance - Kick off last weekEUDAT
 
European Open Science Cloud - Skills workshop
European Open Science Cloud - Skills workshopEuropean Open Science Cloud - Skills workshop
European Open Science Cloud - Skills workshopEUDAT
 
Linking service capabilities to data stweardship competences for professional...
Linking service capabilities to data stweardship competences for professional...Linking service capabilities to data stweardship competences for professional...
Linking service capabilities to data stweardship competences for professional...EUDAT
 
FAIRness of training materials
FAIRness of training materialsFAIRness of training materials
FAIRness of training materialsEUDAT
 
Training by EOSC-hub - Integrating and Managing services for the European Ope...
Training by EOSC-hub - Integrating and Managing services for the European Ope...Training by EOSC-hub - Integrating and Managing services for the European Ope...
Training by EOSC-hub - Integrating and Managing services for the European Ope...EUDAT
 
Draft Governance Framework for the EOSC
Draft Governance Framework for the EOSCDraft Governance Framework for the EOSC
Draft Governance Framework for the EOSCEUDAT
 
Building Interoperable AAI for Researchers
Building Interoperable AAI for ResearchersBuilding Interoperable AAI for Researchers
Building Interoperable AAI for ResearchersEUDAT
 

More from EUDAT (20)

EUDAT_Brochure_Generica_Jan_UPDATED(5).pdf
EUDAT_Brochure_Generica_Jan_UPDATED(5).pdfEUDAT_Brochure_Generica_Jan_UPDATED(5).pdf
EUDAT_Brochure_Generica_Jan_UPDATED(5).pdf
 
EUDAT Booklet Mar22 (2).pdf
EUDAT Booklet Mar22 (2).pdfEUDAT Booklet Mar22 (2).pdf
EUDAT Booklet Mar22 (2).pdf
 
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdf
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdfEUDAT_Brochure_Generica_Jan_UPDATED (1).pdf
EUDAT_Brochure_Generica_Jan_UPDATED (1).pdf
 
EUDAT Brochure - B2HANDLE.pdf
EUDAT Brochure - B2HANDLE.pdfEUDAT Brochure - B2HANDLE.pdf
EUDAT Brochure - B2HANDLE.pdf
 
EUDAT Brochure - B2DROP.pdf
EUDAT Brochure - B2DROP.pdfEUDAT Brochure - B2DROP.pdf
EUDAT Brochure - B2DROP.pdf
 
EUDAT Brochure - B2SHARE.pdf
EUDAT Brochure - B2SHARE.pdfEUDAT Brochure - B2SHARE.pdf
EUDAT Brochure - B2SHARE.pdf
 
EUDAT Brochure - B2SAFE.pdf
EUDAT Brochure - B2SAFE.pdfEUDAT Brochure - B2SAFE.pdf
EUDAT Brochure - B2SAFE.pdf
 
EUDAT Brochure - B2FIND(1).pdf
EUDAT Brochure - B2FIND(1).pdfEUDAT Brochure - B2FIND(1).pdf
EUDAT Brochure - B2FIND(1).pdf
 
EUDAT Brochure - B2ACCESS.pdf
EUDAT Brochure - B2ACCESS.pdfEUDAT Brochure - B2ACCESS.pdf
EUDAT Brochure - B2ACCESS.pdf
 
Rob Carrillo - Writing effective service documentation for EUDAT services
Rob Carrillo - Writing effective service documentation for EUDAT servicesRob Carrillo - Writing effective service documentation for EUDAT services
Rob Carrillo - Writing effective service documentation for EUDAT services
 
Ariyo - EUDAT CDI B2 services documentation
Ariyo - EUDAT CDI B2 services documentationAriyo - EUDAT CDI B2 services documentation
Ariyo - EUDAT CDI B2 services documentation
 
Introduction to eudat and its services
Introduction to eudat and its servicesIntroduction to eudat and its services
Introduction to eudat and its services
 
Using B2NOTE: The U.Porto Pilot
Using B2NOTE: The U.Porto PilotUsing B2NOTE: The U.Porto Pilot
Using B2NOTE: The U.Porto Pilot
 
OpenAIRE Advance - Kick off last week
OpenAIRE Advance - Kick off last weekOpenAIRE Advance - Kick off last week
OpenAIRE Advance - Kick off last week
 
European Open Science Cloud - Skills workshop
European Open Science Cloud - Skills workshopEuropean Open Science Cloud - Skills workshop
European Open Science Cloud - Skills workshop
 
Linking service capabilities to data stweardship competences for professional...
Linking service capabilities to data stweardship competences for professional...Linking service capabilities to data stweardship competences for professional...
Linking service capabilities to data stweardship competences for professional...
 
FAIRness of training materials
FAIRness of training materialsFAIRness of training materials
FAIRness of training materials
 
Training by EOSC-hub - Integrating and Managing services for the European Ope...
Training by EOSC-hub - Integrating and Managing services for the European Ope...Training by EOSC-hub - Integrating and Managing services for the European Ope...
Training by EOSC-hub - Integrating and Managing services for the European Ope...
 
Draft Governance Framework for the EOSC
Draft Governance Framework for the EOSCDraft Governance Framework for the EOSC
Draft Governance Framework for the EOSC
 
Building Interoperable AAI for Researchers
Building Interoperable AAI for ResearchersBuilding Interoperable AAI for Researchers
Building Interoperable AAI for Researchers
 

Recently uploaded

Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlkumarajju5765
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Onlineanilsa9823
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Delhi Call girls
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 

Recently uploaded (20)

Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 

B2SHARE REST API - New ppt available at https://www.slideshare.net/EUDAT/eudat-b2share-api-how-to-store-and-publish-research-data-using-the-b2share-api

  • 1. Store and Publish Research Data b2share.eudat.eu www.eudat.euEUDAT receives funding from the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures. Contract No. 654065 B2SHARE REST API How to store and publish research data using the B2SHARE REST API This work is licensed under the Creative Commons CC-BY 4.0 licence Version 1 June 2017
  • 2. b2share.eudat.eu B2SHARE is... … a user-friendly, reliable and trustworthy way for researchers, scientific communities and scientists to store and publish research data from diverse contexts 2
  • 3. b2share.eudat.eu What is the B2SHARE REST API? The B2SHARE REST API is a set of instructions to interact with a B2SHARE service instance The B2SHARE REST API: Provides direct remote interaction with the service without using a graphical user interface Allows integration within application or data processing workflows for automation of publishing tasks Supports any programming language or operating system that supports HTTP requests There is no limitation on usage and number of calls, even for unregistered users To create new or modify existing content, registration is required 4
  • 4. b2share.eudat.eu What can I do with the B2SHARE API? List all existing records and communities Search for specific records and communities Retrieval of community-specific information Including community metadata schemas Create new draft records Upload files to draft records Add metadata using metadata schemas Publish draft records Modification of the metadata of existing records 5
  • 5. b2share.eudat.eu What is an API? An Application Programming Interface (API) is a specification of a set of definitions, protocols and tools to interact with a service, possibly from a remote location Provides an abstraction of the underlying service technologies used by the service itself and external applications HTTP requests return machine-readable structures of data representing the current state of a piece of information, or after altering it on request Returned data is provided in specific formats like XML or JSON Any browser is using requests in order to get information from a server and to present it to the user 6
  • 6. b2share.eudat.eu HTTP requests A specific call to a service through an API using a HTTP request method with address and parameters An address is a URL with optionally additional parameters: URL = protocol + hostname + port + path Protocol: always http:// or https:// Hostname: base address, e.g. b2share.eudat.eu Port: sometimes required specifically, usually 80 Path: endpoint specification, e.g. api/record/1 Parameters are additional options given to the request Every request returns a HTTP status code and response text, even when an error occurred On success the current state of the requested piece of information is provided 7
  • 7. b2share.eudat.eu HTTP requests (2) Several HTTP request methods possible, e.g.: GET: get data of specified resource POST: submit data to be processed for specified resource PUT: upload representation of URI (e.g. file) PATCH: modify (meta)data of specified source For different operations, use different methods The B2SHARE service accepts payloads along with a HTTP request, e.g. text, binary data, files 8
  • 8. b2share.eudat.eu Making a request Requests can be made by using a specific application directly (e.g. a browser) or by using a programming language that supports making requests in code Example applications: GUI: any file transfer application or web interface Command line: cURL, wGet Almost all programming languages support making requests over HTTP For more complex operations (like publication), a dedicated interface or command line application is required 9
  • 9. b2share.eudat.eu Making a request 10 Browser CLI tool Your app or workflow HTTP response: - Header - Status code - Response text HTTP request: - Request method - Header - URI & parameters - Authentication - Payloads Server Client
  • 10. b2share.eudat.eu Important concepts of B2SHARE Communities: Curate datasets which are part of the scientific domain or a research project Maintain their own metadata schemas and have community administrators Records: Contain data files and associated metadata Connected to a community which maintains it Metadata: Set of common fixed metadata fields and custom metadata blocks with additional fields Governed by fixed and community metadata schemas States: Current condition of a record, either draft, submitted or published Can be changed through the API 11
  • 11. b2share.eudat.eu B2SHARE request variables B2SHARE defines several request variables that function as identifiers for objects in B2SHARE Used in most HTTP request addresses as part of the path to access specific objects directly Most important variables: COMMUNITY_ID: identifier of a user community RECORD_ID: identifier for a specific record, in either state FILE_BUCKET_ID: identifier for a set of files of a specific record 12
  • 12. b2share.eudat.eu Community metadata schemas Every community defines its own metadata schema Metadata schemas: Contain descriptions, vocabularies and expected structure and format of every metadata field Define which fields are mandatory to fill in Definitions are publically available 13
  • 13. b2share.eudat.eu Adding metadata Metadata is added to a record using the API: Upon creation of a draft record Or by providing so-called JSON patches in a request Patches modify the current state of the metadata by either changing, adding or removing fields and values The structure of the data provided in the patch request must strictly follow the metadata schema of the community As many patches as necessary can be applied before publishing your draft record 14 Add metadata Draft record
  • 14. b2share.eudat.eu Adding files Files can be added during the draft phase of your new record using a PUT request Files are uploaded into the file bucket of the draft record, not the draft record itself Use the file bucket ID found in the metadata of the draft record Files are uploaded one-by-one in separate requests As many file upload requests as necessary can be made before publishing your draft record 15 Add files Draft record
  • 15. b2share.eudat.eu Publishing your draft record Draft records are published by altering the value of the publication state in the metadata Once your record is published: The included files can not be changed anymore! No new files can be added! Metadata can be changed after publication, but will create a new version of your published record Persistent identifiers are automatically added 16 Commit Draft record Published record
  • 16. b2share.eudat.eu Authentication through the API B2SHARE does not accept username and password combination, instead use tokens for authentication! B2SHARE contains open and restricted data: Public: all published records and metadata, most files No access token required Private: your draft records and files in private records Only accessible using your access token as parameter in HTTP request Access tokens: Automatically generated unique string of characters attached to your account in B2SHARE Unlimited number of tokens can be generated Only known by the owner, do not share with others! 17
  • 17. b2share.eudat.eu Getting your access token Log in on B2SHARE and navigate to profile page: Create a token by entering a new name: Click on ‘New token’ Note: the token will only be shown once, so store it safely!
  • 18. b2share.eudat.eu Simple examples (1) Protocol and host: https://trng-b2share.eudat.eu Application: curl (using command-line interface) HTTP method: GET Retrieve all existing records: List all communities: Search for specific records of a community: 19 curl –X GET https://trng-b2share.eudat.eu/api/records curl –X GET https://trng-b2share.eudat.eu/api/records? q=community:COMMUNITY_ID curl –X GET https://trng-b2share.eudat.eu/api/communities
  • 19. b2share.eudat.eu Simple examples (2) Get a specific record: List all your draft records: Access token required! List files of specific record: FILE_BUCKET_ID required! 20 curl –X GET https://trng-b2share.eudat.eu/api/records/RECORD_ID curl –X GET https://trng-b2share.eudat.eu/api/files/ FILE_BUCKET_ID curl –X GET https://trng-b2share.eudat.eu/api/records? drafts=1&access_token=ACCESS_TOKEN
  • 20. b2share.eudat.eu Full publication workflow Publishing in B2SHARE using the API involves multiple steps: Identify a target community for your data Retrieve the metadata schema definition of the community The submitted metadata will have to conform to this schema Create a draft record: Upload files into the draft record (one by one) Add metadata according to schema (possibly in multiple steps) Publish the record 21
  • 21. b2share.eudat.eu Full publication workflow diagram 22 Create draft Add metadata Add files POST /api/records GET /api/records/RECORD_ID/draft PATCH /api/records/RECORD_ID/draft PUT /api/records/FILE_BUCKET_ID/FILE_NAME Commit Published record PATCH /api/records/RECORD_ID/draft Draft record PID Checksum Needs approval? Submitted record Community Approve NO YES
  • 22. b2share.eudat.eu For more info: https://eudat.eu/services/b2share B2SHARE User Documentation: https://eudat.eu/services/userdoc/b2share B2SHARE Training presentations: https://www.eudat.eu/b2share-training-suite B2SHARE hands-on training: https://github.com/EUDAT-Training/B2SHARE-Training 23
  • 23. www.eudat.eu This work is licensed under the Creative Commons CC-BY 4.0 licence EUDAT receives funding from the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures. Contract No. 654065 Authors Contributors Hans van Piggelen, SURFsara Thank you!

Editor's Notes

  1. This presentation briefly introduces the B2SHARE data store and publication service of EUDAT.
  2. B2SHARE is a user-friendly, reliable and trustworthy way for researchers, scientific communities and citizen scientists to store and publish research data coming from diverse contexts.
  3. B2SHARE is part of the EUDAT CDI and is directly connected to the B2DROP and B2SAFE services for data import and export. Other services like B2HANDLE are used to store persistent identifiers. Additional annotation like provenance data is stored using B2NOTE. B2ACCESS is required for authentication and authorization in the future. The B2FIND service is used for metadata harvesting so that your records can be found in the more general search service of EUDAT.
  4. B2SHARE has web-based GUI, but it also offers a REST API. The B2SHARE API is a set of instructions to interact with a B2SHARE service instance, for example the one of EUDAT. It provides direct interaction with the service without using a graphical user interface. Instead a command line tool or an application that integrates the communication is used. For example, the tools used in a research workflow might include automatic upload of final data in order to directly publish it. Most programming language have built-in functionality to interact with a remote service using HTTP requests. The B2SHARE REST API can be used by any user without registration and without limitations. The only functionality that requires registration is the creation and modification of records and defined communities.
  5. Using the B2SHARE API, the user can do several important operations such as listing all existing records and communities that are currently defined in the service. When a user is looking for specific records and/or communities the query functionality can be used and filtered using several parameters. Once a community has been chosen, detailed community-specific information, including community metadata schema definitions and other requirements can be retrieved. New draft records can be created, including the upload of files and the addition of metadata in accordance to the metadata schema defined by a community or project. Once a draft record is completed, it can be published. Furthermore, existing published records can be modified in terms of metadata and published as a new versioned record. The old version will always be available and citable.
  6. The next three slides may be common knowledge, so we can skip them if everybody knows about these. API stands for Application Programming Interface, and is a specification of a set of definitions, protocols and tools which allow to interact with a service, possibly from a remote location. An API provides an abstraction layer of the underlying service technologies used by the service itself and external applications to communicate with the technology without exactly knowing how it works. This allows machines to easily interact with the service and correctly handle responses and possible errors. When it comes to APIs for the Internet, communication is done through HTTP requests which return machine-readable structures of data representing the current state of a piece of information. The API can often used to alter information on the server side as well. The returned data is usually provided in specific formats like XML or JSON. In many cases this can be changed upon request. Your own browser is using the same mechanisms to get data from a server and present it to the user.
  7. APIs are used by making HTTP requests. These are specific calls to a service using a supported method with address and parameters. The address is structured as a URL which consists of a protocol, hostname, port (often not necessary) and a path which possibly identifies the piece of information requested. The path is often called the API endpoint. Multiple endpoints can exists for a given service. Parameters are additional options given to the request which can further filter the return information or specify for example the return format. All requests always return a response, provided that the server is available, even when the request is malformed or some other error occurred. Depending on the success, the request contains a HTTP status code and a response text with further information. On success the current state of the requested piece of information is provided.
  8. Each HTTP request is accompanied by a HTTP request method, such as the GET method which request data from a specified resource. Other possibilities (among others) are POST for data submits, PUT for uploading files and PATCH for alteration of existing data. Certain operations (like modification) are not specifically limited to a method, this entirely depends on the API specification and implementation. For B2SHARE the methods are specifically used for specific operations. Along with the request method, URI and authentication, the request also sends a payload if necessary. This can be text, binary data or even entire files.
  9. To actually make a request, use a designated tool or application, or integrate it into your own application using a programming language which supports this. Examples are GUI applications like file transfer tools or web interfaces on websites. On the command line typical examples are curl and wget. Most programming languages support making requests over HTTP, but often require the inclusion of packages which provide this functionality. For more complex operations (like publication), a dedicated interface or command line application is required and therefore a file transfer tool often doesn’t suffice.
  10. There are several important concepts used in B2SHARE which are relevant to using the API. First there are communities that curate datasets which are part of the scientific domain or a research project. Community administrators maintain the metadata schema of the community. Users have to select the community when creating new records in order to have it connected that community. Records contain data files and associated metadata and are always connected to a specific community. Communities actively curate records that are published under their name. When publishing under the EUDAT general community, this is not the case. Metadata are a set of common fixed metadata fields and custom metadata blocks with additional fields. They are governed by fixed and community metadata schemas. When choosing a specific community, there might be additional metadata fields to be filled in. A state is the current condition of a record, either draft, submitted or published. They can be changed through the API. Only published records are visible in B2SHARE. Draft and submitted records are only visible to the owner and possibly the community administrator under which the record is published.
  11. B2SHARE defines several request variables that function as identifiers for objects in B2SHARE. They are used in most HTTP request addresses as part of the path to access specific objects directly The most important variables are the community ID which uniquely identifies a community. Record IDs identify specific records, either in draft or published state. The file bucket ID is used to identify a set of files of a specific record
  12. All records are published under a specific community and have metadata added according to the corresponding community metadata schema in case this is required. Metadata schemas contain the descriptions, vocabularies and expected structure and format of every metadata field in the schema. Furthermore, they define which fields are mandatory to fill in during the creation of new records. Community metadata schema definitions are publically available through the API and on the B2SHARE website.
  13. There are two ways of adding metadata to a record using the API: upon creation of a draft record and by providing so-called JSON patches in a request. This can also be done to already published records, but will create a new version of that record with new PIDs and checksums. JSON patch requests modify the current state of the metadata by either changing, adding or removing fields and values. The structure of the data provided in the patch request must strictly follow the metadata schema of the community. You can make as many patch requests as necessary before publishing your draft record or new published version.
  14. Files can be added during the draft phase of your new record using a PUT request. Files are uploaded into the file bucket of the draft record, not the draft record itself. Therefore use the file bucket ID found in the metadata of the draft record. All added files have their checksum calculated. Files are uploaded one-by-one in separate requests. You can upload as many files as necessary before publishing your draft record or published version.
  15. Draft records are published by altering the value of the publication state in the metadata. Once your record is published, the included files can not be changed anymore and no new files can be added! Metadata can be changed after publication, but will create a new version of your published record. After your publication request, the persistent identifiers are automatically added to the record
  16. We will now look at some examples of using the API. For many requests you need to authenticate yourself. As APIs are often used directly in applications, you don’t want to provide usernames and passwords for every request you make. Instead an access token is generated on the website which uniquely identifies yourself during a request. B2SHARE contains public or open access and restricted data. All open access published records and metadata are public and can be accessed by anyone, this mostly holds for the contained files as well. Therefore no access tokens are required. For privately shared records and your draft records and files an access token is required. Depending on the authorization and community settings, you may or may not be able to access these records. As the access token unique identifies yourself and allows alteration of your published and draft records, do not share it with anyone!
  17. To generate an access token, go to the B2SHARE website, log in and navigate to the profile page. Create new token by entering a name, followed by a click on the new token button. Note that you will not be able to retrieve this token, so store it safely. If you loose your token you can create a new one on this page. You can create as many as you like.
  18. Here are some example GET requests using the B2SHARE training instance and the curl application. No access token is necessary yet, as all this information is publically available. Examples: The retrieve all existing records and list all communities examples do not use a variable in the address To search for specific records of a community, use the community ID in the query parameter q. Community IDs can be found in the listing of all communities
  19. Examples: To get a specific record, use the record ID of that record in the address To get all your draft records you now need to add your access token as a parameter. You also need to set parameter ‘drafts’ to value 1 To list all the files contained by a record, get the file bucket ID from the record metadata and use it in the address directly in the path Note that all command are a single line only, here they are displayed on multiple lines for clarity.
  20. The full publication workflow using the B2SHARE REST API is as follows: Identify a target community to place your new record under. You need the community ID of that community and depending on the community, only members of that community can publish under their name. Get the metadata schema definition of that community using the community ID. Now you know the required fields for your publication Create a draft record and upload your files and add metadata. This can all be done in multiple separate steps and for files one-by-one. When adding files, checksums will be generated for each file. Finally publish your record. Depending on the community’s settings, your record may need approval of the community before it will be shown in B2SHARE. A persistent identifier is added to the record so that it can be uniquely identified.
  21. For clarity, here there is a complete overview of the full publication workflow using the B2SHARE REST API in a diagram. For every step (blue boxes) the corresponding request and HTTP method has been added in which the variables need to be filled in. The only exception is the ‘community approve’ step which can’t be done through the API yet. A record can be in three states: draft, submitted or published (red boxes). Draft and submitted records are not visible openly, but only to the user or community. Checksums are calculated for every file added and a PID is added once the draft record is committed (green boxes).
  22. Have a look at our website for more information regarding B2SHARE User documentation is also available here B2SHARE hands-on training can be found on GitHub. Currently only API access using Python is covered. In the future more modules will be added.
  23. Thank you!