Introduction to the Async API is available here
Provision a community to site
Accepts the following message:
{
"identifier": "string",
"name": "string",
"description": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge community addition
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Update a community on a site
Accepts the following message:
{
"identifier": "string",
"name": "string",
"description": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge community update
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Remove a community on a site
Accepts the following message:
{
"identifier": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge removing community
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Provision a project to site
Installation of a project on a site will happen when the first resource of the site is allocated to the project.
Accepts the following message:
{
"identifier": "string",
"name": "string",
"description": "string",
"acronym": "string",
"communityId": "string",
"community": "string",
"researchField": "string",
"validityStart": "string",
"validityEnd": "string",
"projectLeader": {
"fenixUserId": "string",
"title": "string",
"firstName": "string",
"lastName": "string",
"gender": "string",
"nationality": "string",
"email": "string",
"phone": "string",
"placeOfBirth": "string",
"dateOfBirth": "2019-08-24",
"organizationName": "string",
"organizationAddress": "string",
"organizationPostalCode": "string",
"organizationCountry": "string",
"organizationPhone": "string",
"homeAddress": "string",
"homePostalCode": "string",
"homeCountry": "string"
}
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge project installation on site
Site agents must send information to FURMS whenever a project is installed on a site or if project installation fails.
Accepts the following message:
{
"attributes": {
"gid": "string"
}
}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Remove a project from a site
Project removal will be requested by FURMS when previously installed project lifetime ends.
Accepts the following message:
{
"identifier": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge removal request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge project removal on a site
Project removal or removal failure must be communicated to FURMS with the following message.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Update a project on a site
Project metadata can change in FURMS. In such cases, a project update request will be sent to a site.
Accepts the following message:
{
"identifier": "string",
"name": "string",
"description": "string",
"researchField": "string",
"acronym": "string",
"validityStart": "string",
"validityEnd": "string",
"projectLeader": {
"fenixUserId": "string",
"title": "string",
"firstName": "string",
"lastName": "string",
"gender": "string",
"nationality": "string",
"email": "string",
"phone": "string",
"placeOfBirth": "string",
"dateOfBirth": "2019-08-24",
"organizationName": "string",
"organizationAddress": "string",
"organizationPostalCode": "string",
"organizationCountry": "string",
"organizationPhone": "string",
"homeAddress": "string",
"homePostalCode": "string",
"homeCountry": "string"
}
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge update request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge project update on site
Site agents must send information to FURMS whenever the project is updated or if the project update fails.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Suspend/enable user on site
Shall be used by FURMS to signal the site that user access to the site should be suspended or re-enabled.
Accepts the following message:
{
"fenixUserId": "string",
"status": "ENABLED",
"reason": "security_incident"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge status update request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge user status change on a site
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Install user's SSH key
Is used to request SSH key installation on a site
Accepts the following message:
{
"fenixUserId": "string",
"publicKey": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge SSH key add request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge adding SSH key
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Update user's SSH key
Is used to request SSH key update on a site
Accepts the following message:
{
"fenixUserId": "string",
"oldPublicKey": "string",
"newPublicKey": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge SSH key update request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge updating SSH key
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Remove user's SSH key
Used to request SSH key removal on a site
Accepts the following message:
{
"fenixUserId": "string",
"publicKey": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge SSH key removal request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Acknowledge adding SSH key
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Add user to a project
Sent by FURMS to request adding a user to a project.
Accepts the following message:
{
"user": {
"fenixUserId": "string",
"title": "string",
"firstName": "string",
"lastName": "string",
"gender": "string",
"nationality": "string",
"email": "string",
"phone": "string",
"placeOfBirth": "string",
"dateOfBirth": "2019-08-24",
"organizationName": "string",
"organizationAddress": "string",
"organizationPostalCode": "string",
"organizationCountry": "string",
"organizationPhone": "string",
"homeAddress": "string",
"homePostalCode": "string",
"homeCountry": "string"
},
"policiesAcceptance": [
{
"policyIdentifier": "string",
"currentVersion": 0,
"serviceIdentifier": "string",
"processedVersion": 0,
"acceptance": "ACCEPTED"
}
],
"projectIdentifier": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge user add to project request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
User to project add result
Should be sent by the site agent to indicate user addition (or failure of) to a project.
Accepts the following message:
{
"uid": "string"
}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Remove user from a project
Should be sent by FURMS to request removal of a user from a project.
Accepts the following message:
{
"fenixUserId": "string",
"projectIdentifier": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge user removal from project request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
User removal from project result
Should be sent by the site agent when a user was removed from a project or removal failed.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Request resource allocation to a project
Will be sent by FURMS to inform the site that part of resource credit defined by the site admin in FURMS was allocated to a (previously provisioned) project. Note that this may be either an initial allocation or an update of the allocation. In the latter case the allocationIdentifier parameter should be already known to the site.
Accepts the following message:
{
"projectIdentifier": "string",
"allocationIdentifier": "string",
"resourceCreditIdentifier": "string",
"resourceType": "string",
"amount": 0,
"validFrom": "string",
"validTo": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge allocate resource to a project request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Confirm allocation installation or update
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Information about allocated resources
In case when a request is generally accepted, the site should actually allocate resources. Since the allocation scheme can vary from site to site, the site agent can report multiple allocations, with different amounts then the requested ones. Reporting of allocation is communicated with the message ResourceAllocationResult. In case when an allocation failed, only the first ResourceAllocationResult can be used to send an error status, subsequent responses won't be accepted.
Accepts the following message:
{
"allocationIdentifier": "string",
"allocationChunkIdentifier": "string",
"amount": 0,
"validFrom": "string",
"validTo": "string"
}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Update of allocated resources
Carries an update of a previously sent allocation with the ResourceAllocationResult message. Messages with failed status won't be accepted.
Accepts the following message:
{
"allocationIdentifier": "string",
"allocationChunkIdentifier": "string",
"amount": 0,
"validFrom": "string",
"validTo": "string"
}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Remove resource allocation from a project
Will be sent by FURMS to inform the site that a formerly allocated resource allocation was removed from a project
Accepts the following message:
{
"projectIdentifier": "string",
"allocationIdentifier": "string",
"resourceCreditIdentifier": "string",
"resourceType": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge deallocation request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Request to grant user access to allocation
Sent by FURMS to request granting user rights to an allocation within a project.
Accepts the following message:
{
"allocationIdentifier": "string",
"user": {
"fenixUserId": "string",
"title": "string",
"firstName": "string",
"lastName": "string",
"gender": "string",
"nationality": "string",
"email": "string",
"phone": "string",
"placeOfBirth": "string",
"dateOfBirth": "2019-08-24",
"organizationName": "string",
"organizationAddress": "string",
"organizationPostalCode": "string",
"organizationCountry": "string",
"organizationPhone": "string",
"homeAddress": "string",
"homePostalCode": "string",
"homeCountry": "string"
},
"projectIdentifier": "string",
"policiesAcceptance": [
{
"policyAcceptance": {
"policyIdentifier": "string",
"currentVersion": 0,
"serviceIdentifier": "string",
"processedVersion": 0,
"acceptance": "REJECTED"
}
}
]
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge grant user access to allocation request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Grant user access to allocation
Should be sent by the site agent to indicate granting user access to allocation.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Request removal of user's access to allocation
Sent by FURMS to request removing the previously granted access to an allocation for a user.
Accepts the following message:
{
"allocationIdentifier": "string",
"fenixUserId": "string",
"projectIdentifier": "string"
}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge remove user's access to allocation request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Signal removal of user's access to allocation
Should be sent by the site agent to indicate that user's access to an allocation was blocked.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Cumulative allocation usage record
Sent from the site agent to FURMS to report per-project and allocation resource consumption.
Accepts the following message:
{
"projectIdentifier": "string",
"allocationIdentifier": "string",
"cumulativeConsumption": 0,
"probedAt": "string"
}
{
"version": 1
}
Per-user allocation usage record
Sent from the site agent to FURMS to report per-project, user and allocation resource consumption.
Accepts the following message:
{
"projectIdentifier": "string",
"allocationIdentifier": "string",
"fenixUserId": "string",
"cumulativeConsumption": 0,
"consumedUntil": "string"
}
{
"version": 1
}
Error info callback
Sent from FURMS to site agent to report message handling errors.
Accepts the following message:
{
"correlationId": "string",
"errorType": "InvalidMessageContent",
"description": "string"
}
{
"version": 1
}
Ping agent
Used by FURMS to check if the site agent is on-line. The request has an empty body, and RequestAck is used to determine availability.
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string"
}
Acknowledge ping request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Policy acceptance update
Used by FURMS to inform site agent that user's policies acceptance status has been changed.
Accepts the following message:
{
"fenixUserId": "string",
"policiesAcceptance": [
{
"policyAcceptance": {
"policyIdentifier": "string",
"currentVersion": 0,
"serviceIdentifier": "string",
"processedVersion": 0,
"acceptance": "REJECTED"
}
}
]
}
{
"version": 1
}
Acknowledge acceptance update request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Policy document update
Used by FURMS to inform site agent that a policy has been updated
Accepts the following message:
{
"policyIdentifier": "string",
"policyName": "string",
"currentVersion": 0,
"serviceIdentifier": "string"
}
{
"version": 1
}
Acknowledge policy update request
Accepts the following message:
{}
{
"version": 1,
"messageCorrelationId": "string",
"status": "OK",
"error": {
"code": "string",
"message": "string"
}
}
Local site-assigned account id aka Unix user id.
FURMS assigned, unique identifier of a particular project allocation. Single resource credit can have many allocations.
Fenix-wide identifier of a person, managed by Fenix Central IdP
FURMS assigned, unique identifier of a project.