Overview

The InVID Rights Management API deals with the copyright aspects related to the reuse of User Generated Videos (UGV). Consequently, its use makes sense once a UGV has been verified and its reuse is intended.

An InVID User, usually a journalist, can perform the following actions through the InVID Rights Management API after authentication:

  1. Register a UGV using its URL.

  2. Get metadata about a registered UGV, focusing on its copyright status and uploader contact information. It also includes a default attribution message.

  3. Generate an invite message and link for an unregistered UGV uploader to register in the InVID Platform, and the accompanying reuse request.

  4. Generate a reuse request for a UGV uploader who already registered in the InVID Platform.

On the other hand, the UGV uploader can perform the following actions after confirming she or he is the content owner:

  1. Login to the InVID Platform using their social network credentials.

  2. Accept an invite and register in InVID using the credentials of the social network where the content was uploaded.

The underlying data model is presented in the class diagram included in the Domain Model Section.

InVID User (Journalist)

InVID users are users using the InVID platform for media verification and reuse, in most cases, they will be journalists.

InVID User Authentication

To perform authenticated requests, any API user has to send, in the request’s header, a valid JWT authorisation token.

However, the IdentityProvider is the module responsible for the management of InVID Users authentication. You can see its documentation at the following URL: https://identity-provider.invid.udl.cat/docs/index.html

Additionally, once the InVID User has obtained the JWT from the IdentityProvider, they can use it to retrieve their profile information through the following call:

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/request-headers.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/curl-request.adoc[]

Response

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/identity-invid/http-response.adoc[]

UPort Login

Additionally, InVID Users can use UPort to log into their account. This must match the UPort email or having verified the account as shown in UPort Verification.

Request

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-journalist/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-journalist/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-journalist/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-journalist/http-response.adoc[]

UPort Verification

UPort Verification means associating an existing InVID User account with a new UPort Account. From now on, this user will be able to login with his UPort Account.

Request

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-journalist/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-journalist/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-journalist/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-journalist/http-response.adoc[]

UGV Registration

When an InVID User identifies a UGV she or he is interested in reusing; it can be registered using the API to retrieve available information from the corresponding social network about its rights status and uploader.

Currently, UGVs from YouTube, UGVs from Facebook and UGVs from Twitter can be registered.

InVID Users can register UGVs using a POST request or a PUT request to the InVID Rights Management API. The difference between both options appears just when the video is already registered on the platform, as detailed next.

UGV Registration using POST

If the posted URL corresponds to a video that is not registered yet, a new resource for the video is created with rights metadata retrieved from the UGV’s social network. The retrieved metadata is included in the response.

If the video already exists on the platform, the response header includes the location of existing resource with the video metadata. In this case, the metadata is not updated, even if there are changes in the metadata stored by the UGV’s social network. To request that the available metadata is updated, use HTTP PUT instead of POST as detailed next.

UGV Registration using PUT

The PUT request should be used over an existing video resource and point to its existing URL. In this case, the video metadata will be updated with what is retrieved through the UGV’s social network API and the existing metadata overwritten. The response includes the updated metadata.

Examples

Here are some examples of how to register UGVs from the supported social networks using POST and PUT.

YouTube Video using POST
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-post-method/http-response.adoc[]

YouTube Video using PUT
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-you-tube-videos-put-method/http-response.adoc[]

Facebook Video using POST
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-post-method/http-response.adoc[]

Facebook Video using PUT
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-facebook-videos-put-method/http-response.adoc[]

Twitter Video using POST
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-post-method/http-response.adoc[]

Twitter Video using PUT
Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-twitter-videos-put-method/http-response.adoc[]

Retrieve UGV Rights Metadata

With a GET request to a previously registered UGV URL the available metadata for that UGV is retrieved. This includes the generated attribution message plus all the metadata extracted from the YouTube API. The metadata is that available when the UGV was registered using a POST request, or the last time a PUT request was performed to update it.

More details about the part of the metadata detailing contact information and the link to the reuse terms associated to the UGV are detailed in the next subsections, after presenting the example request and response.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/request-headers.adoc[]

Path Parameters

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/path-parameters.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-you-tube-video-rights-metadata/http-response.adoc[]

Contact Information tags

The "contactInformation" field holds a list of links or emails that can be used to contact the user. This information is extracted from the descriptions that the social network users have defined for their videos and profiles.

We extract any URL in the descriptive text. By default, they are tagged as "other,url" in the response following this format:

  • "contactInformation": { "http://moredetails.info": "other,url", …​

If we can recognise the URL as belonging to one of the supported social networks, we tag them appropriately so this information can be used, for instance, when showing them to the user. The format in this case is "social-network,[Facebook|Twitter|Youtube| Instagram],url", for instance:

  • "contactInformation": { "https://twitter.com/linustech": "social-network,Twitter,url",…​

Additionally, YouTube channels have an "about" page holding links to other social accounts and websites. Each of these links has a "title" that is used to tag them appropriately using the format "link,<title>".

Associated UGV Reuse Terms

The available reuse terms for a UGV are available from one of the links obtained after retrieving the metadata for the UGV as detailed above. Performing and HTTP GET to the URL corresponding to the reuseTerms link, the reuse terms associated to the UGV can be retrieved.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/request-headers.adoc[]

Path Parameters

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/path-parameters.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/get-ugv-reuse-terms/http-response.adoc[]

Check UGV rights authorization

With the following GET it is possible to gather the applicable ReuseAgreements for a given UGV and the logged InVID User.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/request-headers.adoc[]

Path Parameters

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/path-parameters.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/ugv-authorization/http-response.adoc[]

Reuse Request Negotiation

When any journalist wants rights for a given UGV, he or she will have to open a new negotiation process in which both parts will discuss which are the appropriate rights. This process is implemented in the API through three classes:

  • ReuseTerm: Contains the reuse conditions over which the negotiation is being done.

  • ReuseNegotiationStep: Represents a step of the negotiation between the journalist and the owner of the video.

  • ReuseRequest: Represents the request a journalist does asking for rights about an UGV.

Next, we describe the process of negotiating the rights of a UGV.

  1. The journalist creates some ReuseTerm specifying the conditions of reuse they need.

  2. The journalist creates a ReuseNegotiationStep with a message for the owner of the UGV and the ReuseTerms associated.

  3. The journalist creates a ReuseRequest associated to the previous ReuseNegotiationStep.

  4. Now the owner of the UGV have to answer to the ReuseRequest and they have two options.

    • Accept the ReuseTerms purposed by the journalist creating a ReuseAgreement. In this case, there would not be any negotiation and the process would end here.

    • Disagree with the purposed ReuseTerms and modify them showing the version you would accept. In this case, the process continues with step 5.

  5. The owner creates some ReuseTerm, based on the ones created by the journalist, specifying the conditions they would accept.

  6. The owner creates a ReuseNegotiationStep with a message to answer to the journalist and the ReuseTerms associated. This ReuseNegotiationStep is also associated with the ReuseRequest.

  7. Now is the journalist who has to answer whether agreeing with the purposed ReuseTerms or creating a new ReuseNegotiationStep.

Reuse Term

One or more Reuse Terms should be defined before registering a Reuse Negotiation Step. They determine what particular kinds of reuses are requested.

A POST request is used to create a new Reuse Term and it should define the scope of the term using the request fields described below.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-term/http-response.adoc[]

Reuse Negotiation Step

The Reuse Negotiation Step represents a step in the negotiation for the rights of a UGV. It can be created by a journalist or by the owner of a UGV in response to the initial request of the journalist. A Reuse Negotiation Step can be modified (by creating a new one that will substitute the last) only if it has not been seen by the other part of the negotiation.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-negotiation-step/http-response.adoc[]

Reuse Request

Before creating a Reuse Request, some Reuse Terms and a Reuse Negotiation Step must have been created, which should define the terms we are asking for through the Reuse Request.

A Reuse Request should be created to request the uploader of a UGV permission to reuse it. The objective is that, once registered and after confirming she or he is the content owner, who shot the video, they can state their agreement about the reuse request or negotiate the reuse conditions.

If the uploader of the UGV, whose reuse is intended, is not registered in the InVID Platform, an InVID Invite will be created. The invite allows the uploader of UGV to join the InVID Platform and includes a default invite message. The invite can be retrieved following the inVIDInvite link in created the Reuse Response, for instance:

http://rights-api.invid.udl.cat/reuseRequests/{reuse-request-id}/inVIDInvite

Otherwise, if the uploader is already registered, the invite is not generated, just the Reuse Request.

Only InVID Users can generate reuse requests. A POST request is used and it should specify URI of the UGV.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-request/http-response.adoc[]

Cancel Reuse Agreement

Once a journalist and a content owner have arrived to an agreement, a Reuse Agreement is created. Nonetheless, the journalist will be free to cancel it whenever they like. This will be done through a PATCH to update the Reuse Agreement and set it to canceled.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/cancel-reuse-agreement/http-response.adoc[]

Reuse Template

A Reuse Template is created by any InVID User to define a default pattern for Reuse Terms when generating a new Reuse Request. When the user is a member of an Organisation, the Reuse Template can be defined for the whole Organization or only for himself.

In order to create a Reuse Template, it is required to firstly create its Reuse Terms. In this case, these will be instances of ReuseTemplateTerms, class that contains an additional field 'duration'. After that, these terms must be associated with a ReuseTemplate.

Additionally, there are some pre-defined default templates which applies for all users. These default templates are for "Make Available", "Broadcast" and both of them.

Reuse Template Term

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template-term/http-response.adoc[]

Reuse Template

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/create-reuse-template/http-response.adoc[]

Invite a UGV Content Uploader

An InVID Invite is created to invite the uploader of UGV to join the InVID Platform.

It is automatically created when registering a Reuse Request for a UGV of which its uploader, identified by its profile in the social network where the UGV was uploaded, has not joined the InVID Platform yet.

It is not possible to create an InVID Invite directly. The only available operation is a GET.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/request-headers.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/retrieve-invid-invite/http-response.adoc[]

Content Owner

Content owners correspond to social network users whose content, uploaded to these social networks, InVID Platform users intend to reuse. These uploaders are invited to the platform to negotiate the reuse of their content and to confirm they are the content owners, the person who shot the UGV.

The way to log into the platform for this kind of users is using their social network account. This way it is possible to verify they are the uploaders of the UGV. They can log in directly using their social network credentials or through an invite generated by an InVID User for a particular UGV they uploaded.

Authentication

In order to login as Content Owner with a social account, a POST to /login with the access or id token obtained from the social network authentication service is required. After that, the API will return a JWT, which must be used to do authenticated requests. The JWT can be decoded to obtain the following information:

Name Description

id

Content Owner ID

sub

Content Owner username

email

Content Owner email

scopes

List of authorities of that Content Owner (generally "ROLE_CONTENT_OWNER")

iss

Issuer of the token: "invid"

iat

Time at which the JWT was issued (UNIX time)

exp

Expiration time of the token (UNIX time)

Google Authentication for YouTube Users

For authentication as a YouTube user, Google credentials should be used. Concretely, OAuth 2 authentication should be used to obtain an OAuth 2 Google ID Token. This token is then posted to /login as the value for the field "googleAuthCode" in the JSON payload as detailed in the Request subsection below.

To obtain a valid ID Token, please, follow the instructions at: http://www.invid-project.eu/wiki/doku.php?id=wp4#invid_rights_management_services

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-sign-in-authentication-for-content-owners/http-response.adoc[]

Facebook Authentication

For authentication as a Facebook user, Facebook credentials should be used. Concretely, OAuth 2 authentication should be used to obtain a Facebook User Access Token. This token can be obtained using the Facebook tool: https://developers.facebook.com/tools/explorer/

Please, select the option "Get User Access Token" and directly, at the bottom, click "Get Access Token", no need to change anything else.

This token is then posted to /login as the value for the field "facebookAuthCode" in the JSON payload as detailed in the Request subsection below.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-sign-in-authentication-for-content-owners/http-response.adoc[]

Twitter Authentication

For authentication as a Twitter user, Twitter credentials should be used. Concretely, OAuth authentication should be used to obtain an OAuth Access Token. This token is then posted to /login as the value for the field "twitterAccessToken" in the JSON payload as detailed in the Request subsection below.

Since Twitter only supports OAuth 1, we have integrated this functionality into the InVID Identity Provider available at: https://identity-provider.invid.udl.cat

The documentation for this feature of the Identity Provider is available from: https://identity-provider.invid.udl.cat/docs/index.html#twitter-sign-in

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-sign-in-authentication-for-content-owners/http-response.adoc[] ==== UPort Login

For authentication with UPort, an external application must do the UPort login process in order to send us the data gathered. This API is only responsible for storing the data and relate it to a Content Owner account. For this reason, the calls to login and verify UPort accounts must be under authentication with an Admin account.

Request

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-owner/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-owner/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-owner/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-owner/http-response.adoc[]

Social account verification

To connect all social accounts to a single Content Owner user, we provide a way of verifying them. When a Content Owner user verifies a social account, two things happen:

  • The user can now log in to the InVID Rights Platform (as Content Owner) using any of his connected social accounts.

  • The platform knows that the Content Owner owns a given social account, so when a new video from this account is submitted to the platform, we will automatically contact him.

To verify a Social account, all you have to do is an authenticated login with the Social account to verify.

Google verification

Request

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-verification-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-verification-for-content-owners/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/google-verification-for-content-owners/http-response.adoc[]

YouTube verification

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/youtube-verification-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/youtube-verification-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/youtube-verification-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/youtube-verification-for-content-owners/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/youtube-verification-for-content-owners/http-response.adoc[]

Facebook verification

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/http-response.adoc[]

Twitter verification

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-verification-for-content-owners/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-verification-for-content-owners/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-verification-for-content-owners/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/twitter-verification-for-content-owners/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/facebook-verification-for-content-owners/http-response.adoc[]

UPort Verification

UPort Verification means associating an existing Content Owner account with a new UPort Account. From now on, this user will be able to login with his UPort Account.

Request

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-owner/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-owner/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-verify-owner/curl-request.adoc[]

Response

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/uport-login-owner/http-response.adoc[]

Accept InVID Invite

Content Owners will usually register in the platform by accepting an invite of an InVID User who wants to reuse one of their UGVs.

In this case, the content owner is also asked to log in using their social network credentials to verify that this user is the owner of the social network account where the video is published.

Accept Invite for YouTube Video

For invitations related to YouTube videos, the UGV is associated with a YouTube channel. However, it is not possible to login directly to a YouTube channel. Uploaders have to log in to their Google accounts and authorise the InVID Rights Module to access their YouTube channel’s information through Google API.

The procedure is the same as for the YouTube verification.

The Google OAuth 2 scope to grant access to the YouTube channel’s information is:

Accept Invite for Facebook Video

For invitations related to Facebook videos, the UGV is associated to a Facebook user representing a Facebook Page. However, it is not possible to login directly to a Facebook page. Uploaders have to log in to their Facebook accounts and authorise the InVID Rights Module to access their Facebook pages information through Facebook’s Graph API.

The procedure is the same as for Facebook Authentication.

Accept Invite for Twitter Video

For invitations related to Twitter videos, the UGV is associated to the corresponding Twitter user. Consequently, the uploader has to log in using the corresponding Twitter credentials and authorise the InVID Rights Module to access their Twitter profile and check the the UGV is present.

The procedure is the same as for Twitter Authentication.

List Reuse Requests

Content owners can review the Reuse Request they receive by following the links they receive through invites (if not yet registered) or through e-mails (if already registered). Moreover, once registered and authenticated, they can list all the reuse requests directed to them performing an HTTP GET to "/reuseRequests", as detailed next.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/request-headers.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/list-reuse-requests/http-response.adoc[]

Accept Reuse Request

To accept the CopyrightStatement of a Reuse Request, a ReuseAgreement must be created.

Only Content Owners who have previously verified being the owner of the requested UGV can accept a Reuse Request.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/accept-reuse-request/http-response.adoc[]

Reject Reuse Request

To reject the CopyrightStatement of a Reuse Request, it is just necessary to change the state of the Reuse Request to 'REJECTED'.

Only Content Owners who have previously verified being the owner of the requested UGV can reject a Reuse Request.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/curl-request.adoc[]

Response

Response Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/response-headers.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/response-fields.adoc[]

Response Links

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/links.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/reject-reuse-request/http-response.adoc[]

Retrieve data

In a platform like this, all users must be able to retrieve the information stored about them. For this reason, we provide endpoints to retrieve this data. For a better format of the data, we have divided it into the following parts:

  • ExternalUsers and its associated UGVs

  • ReuseRequests and everything related to them (ReuseNegotiationSteps, InVIDInvites, ReuseTerms and ReuseAgreements)

  • ReuseTemplates and its associated ReuseTemplateTerms

  • User and Organization (in the case of InVIDUsers)

Additionally, we also offer the possibility to retrieve all the data in a single call. However, since the amount of data may be quite big, this will be sent by email in an attached file in JSON format.

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-all/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-all/curl-request.adoc[]

ExternalUsers and UGVs

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-external-users/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-external-users/curl-request.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-external-users/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-external-users/http-response.adoc[]

ReuseRequests and more

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-requests/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-requests/curl-request.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-requests/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-requests/http-response.adoc[]

ReuseTemplates and ReuseTemplateTerms

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-templates/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-templates/curl-request.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-templates/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-templates/http-response.adoc[]

User and Organization (for InVIDUsers)

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-users/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-users/curl-request.adoc[]

Response Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-users/response-fields.adoc[]

Example Response

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/info-users/http-response.adoc[]

Domain Model

jdot

Send feedback

In order to give some feedback about the platform, anyone can send it and an email will be sent to the administrators of the InVID Project.

Request

Request Headers

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/send-feedback/request-headers.adoc[]

Request Fields

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/send-feedback/request-fields.adoc[]

Example Request

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/send-feedback/http-request.adoc[]

Unresolved directive in index.adoc - include::/builds/invid-udl/rights-api/target/generated-snippets/send-feedback/curl-request.adoc[]