FURMS REST API (4.3.0)

Download OpenAPI specification:Download

License: BSD

Communities Endpoint

FURMS administration endpoint that provides comprehensive access to communities as well as exposes basic operations that can be done in the context of communities.

Get group with members

Returns complete information about a group, including membership information.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
groupId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "memberFenixUserIds": [
    ]
}

Update group

Update mutable elements of a group.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
groupId
required
string
Request Body schema: application/json
name
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string"
}

Delete group

Removes a group from a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
groupId
required
string

Responses

Retrieve all groups

Returns information about all groups in a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add group

Creates a new group in a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
Request Body schema: application/json
name
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string"
}

Retrieve all allocations

Retrieve all allocations of a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create allocation

Create a new allocation for a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
Request Body schema: application/json
creditId
string
name
string
amount
number

Responses

Request samples

Content type
application/json
{
  • "creditId": "string",
  • "name": "string",
  • "amount": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all communities

Returns complete information about all communities including its allocations

Authorizations:
FURMS API token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve particular community

Returns complete information about community including its allocations

Authorizations:
FURMS API token
path Parameters
communityId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "allocations": [
    ]
}

Get all community projects

Returns complete information about projects related to specific community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve allocation

Retrieve a particular allocation of a community.

Authorizations:
FURMS API token
path Parameters
communityId
required
string
communityAllocationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "creditId": "string",
  • "resourceUnit": "string",
  • "siteId": "string",
  • "siteName": "string",
  • "serviceId": "string",
  • "serviceName": "string",
  • "amount": 0
}

Site Endpoint

FURMS administration endpoint that provides comprehensive access to information about sites as well as exposes basic operations that can be done in a site context.

Retry site request

Retry sending a request to a site agent.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
messageId
required
string

Responses

Drop pending request

Removes a pending protocol request. It won't be possible to retry the removed request, FURMS will assume it has timed out.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
messageId
required
string

Responses

Accept sites policy on behalf of user

Performs operation of accepting the policy on behalf of given user.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
policyId
required
string
fenixUserId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all sites

Returns complete information about all sites including their allocations, resource types, services and policies.

Authorizations:
FURMS API token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve particular site information

Returns complete information about a site, including its all allocations, resource types, services and policies

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "sitePolicyId": "string",
  • "resourceCredits": [
    ],
  • "resourceTypes": [
    ],
  • "services": [
    ],
  • "policies": [
    ]
}

Retrieve all users that should have access to a site

Returns list of users that have access to the site through at least one of their projects. SSH key of each user is provided as well.

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve site user

Returns a specified user by Fenix id, assuming that this user has access to the site.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "uid": "string",
  • "sshKeys": [
    ],
  • "projectIds": [
    ]
}

Retrieve project resource usage records

Retrieve individual resoruce usage records, stored by FURMS for a given project on a site. Records have per-user granularity. Caller can limit time range of records.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
projectId
required
string
query Parameters
from
string <date-time>
until
string <date-time>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve site allocated resources to projects

Retrieve all project allocations at the site as assigned by the site

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve site allocated resources to a project

Retrieve given project allocations at the site as assigned by the site

Authorizations:
FURMS API token
path Parameters
siteId
required
string
projectId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all services

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a given site service

Authorizations:
FURMS API token
path Parameters
siteId
required
string
serviceId
required
string

Responses

Response samples

Content type
application/json
{
  • "serviceId": "string",
  • "name": "string",
  • "policyId": "string"
}

Retrieve all resource types

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a given resource type

Authorizations:
FURMS API token
path Parameters
siteId
required
string
resourceTypeId
required
string

Responses

Response samples

Content type
application/json
{
  • "typeId": "string",
  • "name": "string",
  • "serviceId": "string"
}

Retrieve pending requests

Returns all pending site's requests, which were sent to the site agent.

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve project installations

Returns list of projects that should be installed on the site with details of installation status

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve site policies acceptance

Returns list of all site's users with policies and status whether given policy is accepcted or not.

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve site policies

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a given site policy

Authorizations:
FURMS API token
path Parameters
siteId
required
string
policyId
required
string

Responses

Response samples

Content type
application/json
{
  • "policyId": "string",
  • "name": "string",
  • "revision": 0
}

Retrieve all FURMS allocations at the site

Retrieve all project allocations at the site as assigned in FURMS

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve FURMS allocations at the site of a project

Retrieve given project allocations at the site as assigned in FURMS

Authorizations:
FURMS API token
path Parameters
siteId
required
string
projectId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve cumulative project resource consumption

Retrieve cumultaive resoruce consumption recorded by FURMS for a given project on a site.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
projectId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve credits

Retrieve all resource credits of a site.

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve resource credit

Retrieve details of a given resource credit.

Authorizations:
FURMS API token
path Parameters
siteId
required
string
creditId
required
string

Responses

Response samples

Content type
application/json
{
  • "creditId": "string",
  • "name": "string",
  • "validity": {
    },
  • "resourceTypeId": "string",
  • "amount": {
    }
}

Retrieve particular site availability

Returns availability status (AVAILABLE or UNAVAILABLE)

Authorizations:
FURMS API token
path Parameters
siteId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "AVAILABLE"
}

Central IdP Endpoint

API intended for use by Fenix Central IdP, providing access to FURMS user attributes and basic user management.

Get user status

Authorizations:
CIdP token
path Parameters
fenixUserId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ENABLED"
}

Set user status

Authorizations:
CIdP token
path Parameters
fenixUserId
required
string
Request Body schema: application/json
status
string
Enum: "ENABLED" "DISABLED"

Responses

Request samples

Content type
application/json
{
  • "status": "ENABLED"
}

Retrieve user attributes

Returns a complete information about a given user, including project membership and global attributes.

Authorizations:
CIdP token
path Parameters
fenixUserId
required
string

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "userStatus": "ENABLED",
  • "siteAccess": [
    ],
  • "groupAccess": [
    ]
}

Retrieve user attributes on specific site

Returns a complete information about a given user for specific site, including project membership and global attributes.

Authorizations:
CIdP token
path Parameters
fenixUserId
required
string
oauthClientId
required
string

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "userStatus": "ENABLED",
  • "siteAccess": [
    ],
  • "groupAccess": [
    ]
}

Projects Endpoint

FURMS administration endpoint that provides comprehensive access to Projects as well as exposes basic operations that can be done in context of a Projects

Retrieve project information with members

Returns complete information about project including its allocations and its members.

Authorizations:
FURMS API token
path Parameters
projectId
required
string

Responses

Response samples

Content type
application/json
{
  • "project": {
    },
  • "userFenixUserIds": [
    ]
}

Update project

Update particular project.

Authorizations:
FURMS API token
path Parameters
projectId
required
string
Request Body schema: application/json
name
string
description
string
object (Validity)
researchField
string
projectLeaderId
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "validity": {
    },
  • "researchField": "string",
  • "projectLeaderId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "acronym": "string",
  • "name": "string",
  • "communityId": "string",
  • "researchField": "string",
  • "installations": [
    ],
  • "description": "string",
  • "validity": {
    },
  • "projectLeader": {
    }
}

Delete project

Removes project from community.

Authorizations:
FURMS API token
path Parameters
projectId
required
string

Responses

Retrieve all projects

Returns complete information about all projects including its allocations

Authorizations:
FURMS API token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add project

Creates project under particular community.

Authorizations:
FURMS API token
Request Body schema: application/json
communityId
string
acronym
string
gid
string
name
string
description
string
object (Validity)
researchField
string
projectLeaderId
string

Responses

Request samples

Content type
application/json
{
  • "communityId": "string",
  • "acronym": "string",
  • "gid": "string",
  • "name": "string",
  • "description": "string",
  • "validity": {
    },
  • "researchField": "string",
  • "projectLeaderId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "acronym": "string",
  • "name": "string",
  • "communityId": "string",
  • "researchField": "string",
  • "installations": [
    ],
  • "description": "string",
  • "validity": {
    },
  • "projectLeader": {
    }
}

Retrieve all allocations

Retrieve all project's allocations information

Authorizations:
FURMS API token
path Parameters
projectId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create allocation

Allocate resources to a project.

Authorizations:
FURMS API token
path Parameters
projectId
required
string
Request Body schema: application/json
communityAllocationId
string
communityId
string
name
string
resourceTypeId
string
amount
number

Responses

Request samples

Content type
application/json
{
  • "communityAllocationId": "string",
  • "communityId": "string",
  • "name": "string",
  • "resourceTypeId": "string",
  • "amount": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve allocation information

Retrieve project's allocation information

Authorizations:
FURMS API token
path Parameters
projectId
required
string
projectAllocationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "projectId": "string",
  • "communityAllocationId": "string",
  • "name": "string",
  • "resourceTypeId": "string",
  • "resourceUnit": "string",
  • "siteId": "string",
  • "siteName": "string",
  • "serviceId": "string",
  • "serviceName": "string",
  • "amount": 0,
  • "validity": {
    }
}