Rucio (35.0.0)

Download OpenAPI specification:Download

License: Apache 2.0

Each resource can be accessed or modified using specially formed URLs and the standard HTTP methods:

  • GET to read

  • POST to create

  • PUT to update

  • DELETE to remove

We require that all requests are done over SSL. The API supports JSON formats. Rucio uses OAuth to authenticate all API requests. The method is to get an authentication token, and use it for the rest of the requests. Descriptions of the actions you may perform on each resource can be found below.

Date format

All dates returned are in UTC and are strings in the following format (RFC 1123, ex RFC 822):

Mon, 13 May 2013 10:23:03 UTC

In code format, which can be used in all programming languages that support strftime or strptime:

%a, %d %b %Y %H:%M:%S UTC

SSL only

We require that all requests(except for the ping) are done over SSL.

Response formats

The currently-available response format for all REST endpoints is the string-based format JavaScript Object Notation(JSON). The server answer can be one of the following content-type in the http Header:

Content-type: application/json
Content-Type: application/x-json-stream

In the last case, it corresponds to JSON objects delimited by newlines(streaming JSON for large answer), e.g.:

{ "id": 1, "foo": "bar" } { "id": 2, "foo": "baz" } ...

Error handling

Errors are returned using standard HTTP error code syntax. Any additional info is included in the header of the return call, JSON-formatted with the parameters:

ExceptionClass ExceptionMessage

Where ExceptionClass refers to Rucio Exceptions.

Account Limit

Create or update a local account limit

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the accountlimit.

rse
required
string

The rse for the accountlimit.

Request Body schema: application/json
bytes
required
integer

The new limit in bytes.

Responses

Request samples

Content type
application/json
{
  • "bytes": 0
}

Response samples

Content type
application/json
"Created"

Delete a local account limit

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the accountlimit.

rse
required
string

The rse for the accountlimit.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/accountlimits/local/{account}/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Create or update a global account limit

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the accountlimit.

rse_expression
required
string

The rse expression for the accountlimit.

Request Body schema: application/json
bytes
required
integer

The new limit in bytes.

Responses

Request samples

Content type
application/json
{
  • "bytes": 0
}

Response samples

Content type
application/json
"Created"

Delete a global account limit

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the accountlimit.

rse_expression
required
string

The rse expression for the accountlimit.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/accountlimits/global/{account}/{rse_expression} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Account

Create attribute

Create an attribute to an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

key
required
string

The key of the account attribute.

Request Body schema: application/json
key
string

The key of the attribute. This would override the key defined in path.

value
required
string

The value of the attribute.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
"Created"

Delete attribute

Delete an attribute of an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

key
required
string

The key of the account attribute to remove.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/accounts/{account}/attr/{key} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Create scope

Creates a scopse with the given name for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

scope
required
string

The scope name.

Responses

Request samples

curl --request POST \
  --url http://undefinedundefined/accounts/{account}/scopes/{scope} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Get local limit

Get the current local limits for an account on a specific RSE.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

rse
required
string

The rse identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/limits/local/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{ }

Get global limit

Get the current global limits for an account on a specific RSE expression.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

rse_expression
required
string

The rse identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/limits/global/{rse_expression} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{ }

Create identity

Grant an account identity access to an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Request Body schema: application/json
identity
required
string

The identity.

authtype
required
string

The authtype.

email
required
string

The email.

password
string
Default: "none"

The password.

default
string
Default: false

Should this be the default account?

Responses

Request samples

Content type
application/json
{
  • "identity": "string",
  • "authtype": "string",
  • "email": "string",
  • "password": "none",
  • "default": false
}

Response samples

Content type
application/json
"Created"

Delete identity

Delete an account identity.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Request Body schema: application/json
identity
required
string

The identity.

authtype
required
string

The authtype.

Responses

Request samples

Content type
application/json
{
  • "identity": "string",
  • "authtype": "string"
}

List identities

Lists all identities for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/identities \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • [
    ]
]

List rules

Lists all rules for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/rules \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • "string"
]

Get account usage history

Returns the account usage history.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

rse
required
string

The rse identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/usage/history/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Get local account usage

Returns the local account usage.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

rse
required
string

The rse identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/usage/local/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get local account usage

Returns the local account usage.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

rse_expression
required
string

The rse expression.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account}/usage/global/{rse_expression} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Update

Update a parameter for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Request Body schema: application/json
object

Json object with key-value pairs corresponding to the new values of the parameters.

Responses

Request samples

Content type
application/json
{ }

Create

Create an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Request Body schema: application/json
type
required
string
Enum: "USER" "GROUP" "SERVICE"

The account type.

email
required
string

The email for the account.

Responses

Request samples

Content type
application/json
{
  • "type": "USER",
  • "email": "string"
}

Response samples

Content type
application/json
"Created"

Delete

Delete an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/accounts/{account} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

List account parameters

Lists all parameters for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account identifier.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts/{account} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "account": "string",
  • "account_type": "string",
  • "status": "string",
  • "email": "string",
  • "suspended_at": "string",
  • "deleted_at": "string"
}

List

List all accounts.

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/accounts \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Auth

UserPass Allow cross-site scripting

UserPass Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/userpass \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

UserPass

Authenticate a Rucio account temporarily via username and password.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string

Account identifier as a string.

X-Rucio-Username
required
string

Username as a string.

X-Rucio-Password
required
string

password as a text-plain string.

X-Rucio-AppID
string

Application identifier as a string.

X-Forwarded-For
string

The forward ip address.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/userpass \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE' \
  --header 'X-Rucio-Password: SOME_STRING_VALUE' \
  --header 'X-Rucio-Username: SOME_STRING_VALUE'

GSS Allow cross-site scripting

GSS Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/gss \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

GSS

Authenticate a Rucio account via GSS.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
REMOTE_USER
required
string
X-Rucio-AppID
string
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/gss \
  --header 'REMOTE_USER: SOME_STRING_VALUE' \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

x509 Allow cross-site scripting

x509 Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/x509 \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

x509

Authenticate a Rucio account via x509.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
X-Rucio-AppID
string
X-Forwarded-For
string
X-Rucio-Allow-Return-Multiple-Accounts
boolean

If set to true, a HTTP 206 response will be returned if the identity is associated with multiple accounts.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/x509 \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-Allow-Return-Multiple-Accounts: SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

SSH Allow cross-site scripting

SSH Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/ssh \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

SSH

Authenticate a Rucio account via SSH.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
X-Rucio-SSH-Signature
required
string
X-Rucio-AppID
string
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/ssh \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE' \
  --header 'X-Rucio-SSH-Signature: SOME_STRING_VALUE'

SSHChallengeToken Allow cross-site scripting

SSHChallengeToken Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/ssh_challenge_token \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

SSHChallengeToken

Authenticate a Rucio account via SSHChallengeToken.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
X-Rucio-AppID
string
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/ssh_challenge_token \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Post a SAML request

Post a SAML request

Authorizations:
AuthToken

Responses

Request samples

curl --request POST \
  --url http://undefinedundefined/auth/saml \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

SAML Allow cross-site scripting

SAML Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/saml \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

SAML

Authenticate a Rucio account via SAML.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
X-Rucio-AppID
string
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/saml \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-AppID: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Validate Allow cross-site scripting

Validate Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/validate \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Validate

Validate a Rucio auth token.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/validate \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

OIDC Allow cross-site scripting

OIDC Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/oidc \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

OIDC

Authenticate a Rucio account via OIDC.

Authorizations:
AuthToken
header Parameters
HTTP_X_RUCIO_ACCOUNT
string

Account identifier as a string.

HTTP_X_RUCIO_CLIENT_AUTHORIZE_SCOPE
string
HTTP_X_RUCIO_CLIENT_AUTHORIZE_AUDIENCE
string
HTTP_X_RUCIO_CLIENT_AUTHORIZE_AUTO
string
HTTP_X_RUCIO_CLIENT_AUTHORIZE_ISSUER
string
HTTP_X_RUCIO_CLIENT_AUTHORIZE_POLLING
string
HTTP_X_RUCIO_CLIENT_AUTHORIZE_REFRESH_LIFETIME
string
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/oidc \
  --header 'HTTP_X_RUCIO_ACCOUNT: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_AUDIENCE: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_AUTO: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_ISSUER: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_POLLING: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_REFRESH_LIFETIME: SOME_STRING_VALUE' \
  --header 'HTTP_X_RUCIO_CLIENT_AUTHORIZE_SCOPE: SOME_STRING_VALUE' \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

TokenOIDC Allow cross-site scripting

TokenOIDC Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/oidc_token \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

TokenOIDC

Authenticate a Rucio account via TokenOIDC.

Authorizations:
AuthToken
header Parameters
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/oidc_token \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

CodeOIDC Allow cross-site scripting

CodeOIDC Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/oidc_code \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

CodeOIDC

Authenticate a Rucio account via CodeOIDC.

Authorizations:
AuthToken
header Parameters
X-Forwarded-For
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/oidc_code \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

RedirectOIDC Allow cross-site scripting

RedirectOIDC Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/oidc_redirect \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

RedirectOIDC

Authenticate a Rucio account via RedirectOIDC.

Authorizations:
AuthToken
header Parameters
X-Rucio-Client-Fetch-Token
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/oidc_redirect \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE' \
  --header 'X-Rucio-Client-Fetch-Token: SOME_STRING_VALUE'

RefreshOIDC Allow cross-site scripting

RefreshOIDC Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/auth/oidc_refresh \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

RefreshOIDC

Authenticate a Rucio account via RefreshOIDC.

Authorizations:
AuthToken
header Parameters
X-Rucio-Account
required
string
X-Rucio-Auth-Token
required
string

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/auth/oidc_refresh \
  --header 'X-Rucio-Account: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Config

Create value

Create or set the value of an option.

Authorizations:
AuthToken
path Parameters
section
required
string

The section.

option
required
string

The option of the section.

value
required
string

The value to set.

Responses

Request samples

curl --request PUT \
  --url http://undefinedundefined/config/{section}/{option}/{value} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Delete option

Delete an option of a section.

Authorizations:
AuthToken
path Parameters
section
required
string

The section.

option
required
string

The option of the section.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/config/{section}/{option} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Get option

Returns the value of an option

Authorizations:
AuthToken
path Parameters
section
required
string

The section.

option
required
string

The option of the section.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/config/{section}/{option} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"string"

List Sections

Authorizations:
AuthToken
path Parameters
section
required
string

The section to return.

Request Body schema: application/json
bytes
required
integer

The new limit in bytes.

Responses

Request samples

Content type
application/json
{
  • "bytes": 0
}

Response samples

Content type
application/json
{ }

Create

Create or set the configuration option in the requested section.

Authorizations:
AuthToken
Request Body schema: application/json
object

The request body is expected to contain a json {'section': {'option': 'value'}}.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
"Created"

List

List the full configuration.

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/config \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{ }

Credentials

Cross-Site Scripting

Allow cross-site scripting. Explicit for Authentication.

Authorizations:
AuthToken

Responses

Request samples

curl --request OPTIONS \
  --url http://undefinedundefined/credentials/signurl \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Sign URL

Sign a url for a limited lifetime for a particular srevice.

Authorizations:
AuthToken
query Parameters
rse
required
string

The RSE to authenticate against.

lifetime
string

The lifetime, default 600s.

svc
string

The service, default gcs.

op
string

The operation.

url
required
string

The Url of the authentication.

Request Body schema: application/octet-stream
X-Rucio-Account
string

Account identifier.

X-Rucio-VO
string

VO name (Multi-VO only).

X-Rucio-AppID
string

Application identifier.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/credentials/signurl?rse=SOME_STRING_VALUE&lifetime=SOME_STRING_VALUE&svc=SOME_STRING_VALUE&op=SOME_STRING_VALUE&url=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Data Identifiers

Get Data Identifier

Return all data identifiers in the given scope.

Authorizations:
AuthToken
path Parameters
scope
required
string

The scope.

query Parameters
name
string

The name of the data identifier (did).

recursive
boolean

If true, retrieves child identifiers recursively for non-file types.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/{scope}/?name=SOME_STRING_VALUE&recursive=SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get dataset

Returns the dataset associated with a GUID.

Authorizations:
AuthToken
path Parameters
guid
required
string

The GUID to query buy.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{guid}/guid \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

List Data identifier

List all data identifiers in a scope which match a given metadata.

Authorizations:
AuthToken
path Parameters
scope
required
string

The scope of the data identifiers.

query Parameters
type
string
Default: "collection"
Enum: "all" "collection" "container" "dataset" "file"

The did type to search for.

limit
integer

The maximum number od dids returned.

long
boolean
Default: false

Provides a longer output, otherwise just prints names.

recursive
boolean

Recursively list chilred.

created_before
string

Date string in RFC-1123 format where the creation date was earlier.

created_after
string

Date string in RFC-1123 format where the creation date was later.

length
integer

Exact number of attached DIDs.

length.gt
integer

Number of attached DIDs greater than.

length.lt
integer

Number of attached DIDs less than.

length.gte
integer

Number of attached DIDs greater than or equal to

length.lte
integer

Number of attached DIDs less than or equal to.

name
string

Name or pattern of a did.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/{scope}/dids/search?type=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&long=SOME_BOOLEAN_VALUE&recursive=SOME_BOOLEAN_VALUE&created_before=SOME_STRING_VALUE&created_after=SOME_STRING_VALUE&length=SOME_INTEGER_VALUE&length.gt=SOME_INTEGER_VALUE&length.lt=SOME_INTEGER_VALUE&length.gte=SOME_INTEGER_VALUE&length.lte=SOME_INTEGER_VALUE&name=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • { }
]

Update did

Update a did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
open
boolean

The open status

Responses

Request samples

Content type
application/json
{
  • "open": true
}

Get replicas

List all replicas for a did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

query Parameters
long
object

Flag to trigger long output.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/{scope_name}/files?long=SOME_OBJECT_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[ ]

Get history

Returns the content history of a data identifier.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/dids/history \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Add dids to did

Append data identifiers to data identifiers.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
rse
string

The name of the rse.

account
string

The account which attaches the dids.

required
object

The dids to attach.

Responses

Request samples

Content type
application/json
{
  • "rse": "string",
  • "account": "string",
  • "dids": {
    }
}

Response samples

Content type
application/json
"Created"

Detach dids from did

Detach data identifiers from data identifiers.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
required
Array of objects

The dids to detach.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ]
}

Get did

Returns the contents of a data identifier.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/dids \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Add metadata

Add metadata to a did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
meta
required
object

The metadata to add. A dictionary containing the metadata name as key and the value as value.

recursive
boolean
Default: false

Flag if the metadata should be applied recirsively to children.

Responses

Request samples

Content type
application/json
{
  • "meta": { },
  • "recursive": false
}

Response samples

Content type
application/json
"Created"

Delete metadata

Deletes the specified metadata from the did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

query Parameters
key
string

The key to delete.

Responses

Request samples

curl --request DELETE \
  --url 'http://undefinedundefined/dids/{scope_name}/meta?key=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Get metadata

Get the metadata of a did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

query Parameters
plugin
string
Default: "DID_COLUMN"

The plugin to use.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/{scope_name}/meta?plugin=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{ }

Add metadata

Add metadata to a did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

key
required
string

The key for the metadata.

Request Body schema: application/json
value
required
object

The value to set.

Responses

Request samples

Content type
application/json
{
  • "value": { }
}

Response samples

Content type
application/json
"Created"

Add metadata bulk

Adds metadata in a bulk.

Authorizations:
AuthToken
Request Body schema: application/json
required
Array of objects

A list with all the dids and the metadata.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ]
}

Response samples

Content type
application/json
"Created"

Get rules

Lists all rules of a given did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/rules \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • { }
]

Get Parents

Lists all parents of the did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/parents \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get associated rules

Gets all associated rules for a file.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/associated_rules \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Post follow

Mark the input DID as being followed by the given account.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
account
required
string

The account to follow the did.

Responses

Request samples

Content type
application/json
{
  • "account": "string"
}

Delete follow

Mark the input DID as not followed

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Request Body schema: application/json
account
required
string

The account to unfollow the did.

Responses

Request samples

Content type
application/json
{
  • "account": "string"
}

Get followers

Get all followers for a specific did.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/dids/{scope_name}/follow \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Add Dids bulk

Add new Dids in bulk.

Authorizations:
AuthToken
Request Body schema: application/json
Array
scope
required
string

The did scope.

name
required
string

The did name.

type
required
string
Enum: "F" "D" "C" "A" "X" "Y" "Z"

The type of the did.

account
string

The account associated with the did.

statuses
string

The monotonic status

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
"Created"

Create sample

Creates a sample from an input collection.

Authorizations:
AuthToken
path Parameters
input_scope
required
string

The input scope.

input_name
required
string

The input name.

output_scope
required
string

The output scope.

output_name
required
string

The output name.

nbfiles
required
string

The number of files to register in the output dataset.

Responses

Request samples

curl --request POST \
  --url http://undefinedundefined/dids/{input_scope}/{input_name}/{output_scope}/{output_name}/{nbfiles}/sample \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Create sample

Creates a sample from an input collection.

Authorizations:
AuthToken
Request Body schema: application/json

Parameters (source and destination) for the files in the sample to be created

input_scope
required
string

The input scope.

input_name
required
string

The input name.

output_scope
required
string

The output scope.

output_name
required
string

The output name.

nbfiles
required
string

The number of files to register in the output dataset.

Responses

Request samples

Content type
application/json
{
  • "input_scope": "string",
  • "input_name": "string",
  • "output_scope": "string",
  • "output_name": "string",
  • "nbfiles": "string"
}

Response samples

Content type
application/json
"Created"

Attach did to did

Attaches a did to another did

Authorizations:
AuthToken
Request Body schema: application/json
One of
arrays

Responses

Request samples

Content type
application/json
{
  • "ignore_duplicates": false,
  • "attachments": [ ]
}

Response samples

Content type
application/json
"Created"

Get recent identifiers

Returns a list of recent identifiers.

Authorizations:
AuthToken
query Parameters
type
string

The type of the did.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/new?type=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Resurrect dids

Resurrect all given dids.

Authorizations:
AuthToken
Request Body schema: application/json
Array
scope
string

The scope of the did.

name
string

The name of the did

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
"Created"

Get metadata bulk

List all metadata of a list of data identifiers.

Authorizations:
AuthToken
Request Body schema: application/x-json-stream
required
Array of objects

The dids.

inherit
boolean
Default: false

Concatenated the metadata of the parent if set to true.

Responses

Request samples

Content type
application/x-json-stream
{
  • "dids": [
    ],
  • "inherit": false
}

Response samples

Content type
application/json
[
  • { }
]

List files bulk

List files in multiple dids

Authorizations:
AuthToken
Request Body schema: application/json
Array
scope
required
string

The did scope.

name
required
string

The did name.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Data identifiers

Get did

Get a single data identifier.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope and the name of the did.

query Parameters
dynamic_depth
string
Enum: "FILE" "DATASET"

The DID type at which to stop the dynamic length/size estimation

dynamic
string
Deprecated

Same as dynamic_depth = "FILE"

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/dids/{scope_name}/status?dynamic_depth=SOME_STRING_VALUE&dynamic=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "scope": "string",
  • "name": "string",
  • "type": "string",
  • "account": "string",
  • "open": true,
  • "monotonic": true,
  • "expired_at": "string",
  • "length": 0,
  • "bytes": 0
}

Dirac

Add files

Atomic method used by the RucioFileCatalog plugin in Dirac that:

  • Creates files and their replicas
  • Creates the dataset containing the files and attach the files to the dataset
  • Creates a rule on the dataset with RSE expression ANY and grouping NONE
  • Creates all the container hierarchy containing the dataset
Authorizations:
AuthToken
Request Body schema: application/json
lfns
required
Array of objects

List of lfn (dictionary {'lfn': , 'rse': , 'bytes': , 'adler32': , 'guid': , 'pfn': }.

ignore_availability
boolean

If the availability should be ignored.

parents_metadata
object

Metadata for selected hierarchy DIDs.

Responses

Request samples

Content type
application/json
{
  • "lfns": [
    ],
  • "ignore_availability": true,
  • "parents_metadata": { }
}

Response samples

Content type
application/json
"Created"

Export

Export data

Export data from rucio.

Authorizations:
AuthToken
query Parameters
distance
boolean

Should the distance be enabled?

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/export?distance=SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{ }

Heartbeat

Create

Authorizations:
AuthToken
Request Body schema: application/json
executable
string

Name of the executable.

hostname
string

Name of the host.

pid
integer

UNIX Process ID as a number, e.g., 1234.

older_than
integer

Ignore specified heartbeats older than specified nr of seconds.

payload
string

Payload identifier which can be further used to identify the work a certain thread is executing.

Responses

Request samples

Content type
application/json
{
  • "executable": "string",
  • "hostname": "string",
  • "pid": 0,
  • "older_than": 0,
  • "payload": "string"
}

List

List all heartbeats.

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/heartbeats \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • { }
]

Identity

Create UserPass identity

Creates a new UserPass identity and maps it to an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the identity.

query Parameters
X-Rucio-Username
required
string

Username for the identity.

X-Rucio-Password
required
string

The password for the identity.

X-Rucio-Email
string

The email for the identity.

Responses

Request samples

curl --request PUT \
  --url 'http://undefinedundefined/identities/{account}/userpass?X-Rucio-Username=SOME_STRING_VALUE&X-Rucio-Password=SOME_STRING_VALUE&X-Rucio-Email=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Create X509 identity

Creates a new X509 identity and maps it to an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the identity.

query Parameters
X-Rucio-Email
string

The email for the identity.

Responses

Request samples

curl --request PUT \
  --url 'http://undefinedundefined/identities/{account}/x509?X-Rucio-Email=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Create GSS identity

Creates a new GSS identity and maps it to an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account for the identity.

query Parameters
X-Rucio-Email
string

The email for the identity.

Responses

Request samples

curl --request PUT \
  --url 'http://undefinedundefined/identities/{account}/gss?X-Rucio-Email=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

List

List all identities mapped to an account.

Authorizations:
AuthToken
path Parameters
identity_key
required
string

Identity string.

type
required
string

Identity type.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/identities/{identity_key}/{type}/accounts \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • { }
]

Import

Import data

Import data into rucio

Authorizations:
AuthToken
Request Body schema: application/json
object

Rse data with rse name as key.

object

Distances data with src rse name as key.

Array of objects

Account data.

Responses

Request samples

Content type
application/json
{
  • "rses": {
    },
  • "distances": {
    },
  • "accounts": [
    ]
}

Response samples

Content type
application/json
"Created"

Lifetime Exceptions

Create Exception

Creates a Lifetime Exception.

Authorizations:
AuthToken
Request Body schema: application/json
Array of objects

List of dids associated with the lifetime exception.

pattern
string

The pattern of the lifetime exception.

comments
string

The comment for the lifetime exception.

expires_at
string

The expiration date for the lifetime exception.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ],
  • "pattern": "string",
  • "comments": "string",
  • "expires_at": "string"
}

Response samples

Content type
application/json
"string"

List Exceptions

Retrieves all exceptions.

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/lifetime_exceptions/ \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Approve/Reject exception

Approve/Reject a Lifetime Exception.

Authorizations:
AuthToken
path Parameters
exception_id
required
string

The id of the Lifetime Exception.

Request Body schema: application/json
state
string
Enum: "A" "R"

The new state for the Lifetime Exception.

Responses

Request samples

Content type
application/json
{
  • "state": "A"
}

Response samples

Content type
application/json
"Created"

Get Exception

Get a single Lifetime Exception.

Authorizations:
AuthToken
path Parameters
exception_id
required
string

The id of the lifetime exception.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/lifetime_exceptions/{exception_id} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Lock

Get locks by rse

Get all dataset locks for an associated rse.

Authorizations:
AuthToken
path Parameters
rse
required
string

The rse name.

Request Body schema: application/json
did_type
string
Value: "dataset"

The did type to filter for.

Responses

Request samples

Content type
application/json
{
  • "did_type": "dataset"
}

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get locks by scope

Get all dataset locks for an associated rse.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The scope name.

Request Body schema: application/json
did_type
string
Value: "dataset"

The did type to filter for.

Responses

Request samples

Content type
application/json
{
  • "did_type": "dataset"
}

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get locks by dids

Get all dataset locks for the associated dids.

Authorizations:
AuthToken
Request Body schema: application/json
Array of objects

The dids associated with the locks.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ]
}

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Meta

Create key

Creates a new allowed key (value is NULL).

Authorizations:
AuthToken
path Parameters
key
required
string

The name of the key.

Request Body schema: application/json
key_type
string

The key type.

value_type
string

The value type.

value_regexp
string

The value regexpression.

Responses

Request samples

Content type
application/json
{
  • "key_type": "string",
  • "value_type": "string",
  • "value_regexp": "string"
}

Response samples

Content type
application/json
"Created"

Create value for key

Creates a new value for a key.

Authorizations:
AuthToken
path Parameters
key
required
string

The reference key.

Request Body schema: application/json
value
required
string

The new value associated with a key.

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
"Created"

Get value for key

List all values for a key.

Authorizations:
AuthToken
path Parameters
key
required
string

The reference key.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/meta_conventions/{key}/ \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • "string"
]

Create key

Creates a new allowed key (value is NULL).

Authorizations:
AuthToken
path Parameters
key
required
string

The name of the key.

Request Body schema: application/json
key_type
string

The key type.

value_type
string

The value type.

value_regexp
string

The value regexpression.

Responses

Request samples

Content type
application/json
{
  • "key_type": "string",
  • "value_type": "string",
  • "value_regexp": "string"
}

Response samples

Content type
application/json
"Created"

Create value for key

Creates a new value for a key.

Authorizations:
AuthToken
path Parameters
key
required
string

The reference key.

Request Body schema: application/json
value
required
string

The new value associated with a key.

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
"Created"

Get value for key

List all values for a key.

Authorizations:
AuthToken
path Parameters
key
required
string

The reference key.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/meta/{key}/ \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • "string"
]

Ping

Ping

Ping the server and get data about it.

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/ping \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "version": "string"
}

Redirect

Metalink redirect

Get Metalink redirect.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The data identifier (scope)/(name).

query Parameters
ip
string

The client ip.

fqdn
string
site
string
schemes
Array of arrays
select
string
sort
string

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/redirect/{scope_name}/metalink?ip=SOME_STRING_VALUE&fqdn=SOME_STRING_VALUE&site=SOME_STRING_VALUE&schemes=SOME_ARRAY_VALUE&select=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Header redirect

Get the header redirect.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The data identifier (scope)/(name).

query Parameters
ip
string

The client ip.

fqdn
string
site
string
schemes
Array of arrays
select
string
sort
string
rse
string

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/redirect/{scope_name}?ip=SOME_STRING_VALUE&fqdn=SOME_STRING_VALUE&site=SOME_STRING_VALUE&schemes=SOME_ARRAY_VALUE&select=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&rse=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"string"

Replicas

List Replicas

List all replicas for a DID.

Authorizations:
AuthToken
query Parameters
limit
integer

The maximum number pfns per replica to return.

select
string

Requested sorting of the result, e.g., 'geoip', 'closeness', 'dynamic', 'ranking', 'random'.

sort
string

Requested sorting of the result, e.g., 'geoip', 'closeness', 'dynamic', 'ranking', 'random'.

header Parameters
X-Forwarded-For
string

The client ip address.

Request Body schema: application/json
client_location
string

The clients location.

Array of objects

List of Dids.

schemes
Array of strings

A list of schemes to filter the replicas.

sort
string

Requested sorting of the result, e.g., 'geoip', 'closeness', 'dynamic', 'ranking', 'random'.

unavailable
boolean
Deprecated

If unavailable rse should be considered.

ignore_availability
boolean

If the availability should be ignored.

rse_expression
string

The RSE expression to restrict on a list of RSEs.

all_states
boolean

Return all replicas whatever state they are in. Adds an extra 'states' entry in the result dictionary.

domain
string

The network domain for the call, either None, 'wan' or 'lan'. None is fallback to 'wan', 'all' is both ['lan','wan']

signature_lifetime
integer

If supported, in seconds, restrict the lifetime of the signed PFN.

resolve_archives
boolean

When set to True, find archives which contain the replicas.

resolve_parents
boolean

When set to True, find all parent datasets which contain the replicas.

updated_after
string

datetime object (UTC time), only return replicas updated after this time

nrandom
integer

The maximum number of replicas to return.

Responses

Request samples

Content type
application/json
{
  • "client_location": "string",
  • "dids": [
    ],
  • "schemes": [
    ],
  • "sort": "string",
  • "unavailable": true,
  • "ignore_availability": true,
  • "rse_expression": "string",
  • "all_states": true,
  • "domain": "string",
  • "signature_lifetime": 0,
  • "resolve_archives": true,
  • "resolve_parents": true,
  • "updated_after": "string",
  • "nrandom": 0
}

Response samples

Content type
[
  • {
    }
]

Get Replicas

List all replicas for data identifiers.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The DID associated with the replicas.

query Parameters
schemes
string

The schemes of the replicas.

select
string
Enum: "geoip" "closeness" "dynamic" "ranking" "random"

The sorting algorithm.

limit
integer

The maximum number of replicas returned.

header Parameters
X-Forwarded-For
string

The client ip

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/{scope_name}?schemes=SOME_STRING_VALUE&select=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'X-Forwarded-For: SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Declare Suspicious Replicas

Declare a list of suspicious replicas.

Authorizations:
AuthToken
Request Body schema: application/json
pfns
Array of strings

The list of pfns.

reason
string

The reason for the declaration.

Responses

Request samples

Content type
application/json
{
  • "pfns": [
    ],
  • "reason": "string"
}

Response samples

Content type
application/json
[ ]

List Suspicious Replicas

List the suspicious replicas on a list of RSEs.

Authorizations:
AuthToken
query Parameters
rse_expression
string

The RSE expression to filter for.

younger_than
string

Date to filter for.

nattempts
integer

The maximum number of attempts to make.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/suspicious?rse_expression=SOME_STRING_VALUE&younger_than=SOME_STRING_VALUE&nattempts=SOME_INTEGER_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

List Bad Replicas By States

List the bad or suspicious replicas by states.

Authorizations:
AuthToken
query Parameters
state
string
Enum: "SUSPICIOUS" "BAD"

The state of the file.

rse
string

The rse name.

younger_than
string <date-time>

Date to select bad replicas younger than this date.

older_than
string <date-time>

Date to select bad replicas older than this date.

limit
integer

The maximum number of replicas returned.

list_pfns
boolean

Flag to include pfns.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/bad/states?state=SOME_STRING_VALUE&rse=SOME_STRING_VALUE&younger_than=SOME_STRING_VALUE&older_than=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&list_pfns=SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Bad Replicas Summary

Return a summary of the bad replicas by incident.

Authorizations:
AuthToken
query Parameters
rse_expression
string

The RSE expression.

from_date
string <date-time>

The start date.

to_date
string <date-time>

The end date.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/bad/summary?rse_expression=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Declare Bad PFNs

Declare a list of bad PFNs.

Authorizations:
AuthToken
Request Body schema: application/json
expires_at
string <date-time>

The expires at value. Only apply to TEMPORARY_UNAVAILABLE.

pfns
Array of strings

The list of pfns associated with the bad PFNs.

state
string
Enum: "BAD" "SUSPICIOUS" "TEMPORARY_UNAVAILABLE"

The state to set the PFNs to.

reason
string

The reason for the change.

Responses

Request samples

Content type
application/json
{
  • "expires_at": "2019-08-24T14:15:22Z",
  • "pfns": [
    ],
  • "state": "BAD",
  • "reason": "string"
}

Mark Bad by DID

Declare a list of bad replicas by DID.

Authorizations:
AuthToken
Request Body schema: application/json
expires_at
string <date-time>

The expires at value.

Array of objects

The list of dids associated with the bad replicas.

rse
string

The name of the rse.

reason
string

The reason for the change.

Responses

Request samples

Content type
application/json
{
  • "expires_at": "2019-08-24T14:15:22Z",
  • "dids": [
    ],
  • "rse": "string",
  • "reason": "string"
}

Response samples

Content type
application/json
[
  • "string"
]

List Dataset Replicas per RSE

List dataset replicas per RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The rse to filter for.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/replicas/rse/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Declare Bad Replicas

Declares a list of bad replicas.

Authorizations:
AuthToken
Request Body schema: application/json
replicas
Array of strings

The list of pfns or list of dicts with "scope", "name", "rse_id"/"rse"

pfns
Array of strings
Deprecated

The list of pfns, for backward compatibility with older versions of the ReplicaClient

reason
string

The reason for the declaration.

force
boolean

If true, ignore existing replica status in the bad_replicas table.

Responses

Request samples

Content type
application/json
{
  • "replicas": [
    ],
  • "pfns": [
    ],
  • "reason": "string",
  • "force": true
}

Response samples

Content type
application/json
[ ]

Quarantine replicas

Quarantine replicas.

Authorizations:
AuthToken
Request Body schema: application/json
required
Array of objects

replicas

rse
string

RSE name

rse_id
string

RSE id

Responses

Request samples

Content type
application/json
{
  • "replicas": [
    ],
  • "rse": "string",
  • "rse_id": "string"
}

List Replicas Dids

List the DIDs associated to a list of replicas.

Authorizations:
AuthToken
Request Body schema: application/json
pfns
Array of strings

The list of pfns.

rse
required
string

The RSE name.

Responses

Request samples

Content type
application/json
{
  • "pfns": [
    ],
  • "rse": "string"
}

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

List Dataset Replicas

List dataset replicas.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

data identifier (scope)/(name).

query Parameters
deep
boolean

Flag to ennable lookup at the file level.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/{scope_name}/datasets?deep=SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

List Dataset Replicas for Multiple DIDs

List dataset replicas for multiple dids.

Authorizations:
AuthToken
Request Body schema: application/json
required
Array of objects

A list of dids.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ]
}

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Set Tombstone

Set a tombstone on a list of replicas.

Authorizations:
AuthToken
Request Body schema: application/json
Array of objects

The replicas to set the tombstone to.

Responses

Request samples

Content type
application/json
{
  • "replicas": [
    ]
}

List Dataset Replicas VP

List dataset replicas using the Virtual Placement service. This is an RnD function and might change or go away at any time.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

data identifier (scope)/(name).

query Parameters
deep
boolean

Flag to ennable lookup at the file level.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/replicas/{scope_name}/datasets_vp?deep=SOME_BOOLEAN_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Get Subscription from ID

Retrieve a subscription matching the given subscription id.

Authorizations:
AuthToken
path Parameters
subscription_id
required
string

The subscription id.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/subscriptions/id/{subscription_id} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "filter": "string",
  • "replication_rules": "string",
  • "policyid": 0,
  • "state": "A",
  • "last_processed": "2019-08-24T14:15:22Z",
  • "account": "string",
  • "lifetime": "2019-08-24T14:15:22Z",
  • "comments": "string",
  • "retroactive": true,
  • "expired_at": "2019-08-24T14:15:22Z"
}

Get states

Return a summary of the states of all rules of a given subscription id.

Authorizations:
AuthToken
path Parameters
account
required
string

The account name.

name
required
string

The subscription name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/subscriptions/{account}/{name}/rules/states \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get Replication Rules

Return all rules of a given subscription id.

Authorizations:
AuthToken
path Parameters
account
required
string

The account name.

name
required
string

The subscription name.

query Parameters
state
string

The subscription state to filter for.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/subscriptions/{account}/{name}/rules?state=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • null
]

Update subscription

Update an existing subscription.

Authorizations:
AuthToken
path Parameters
account
required
string

The account name.

name
required
string

The subscription name.

Request Body schema: application/json
required
object

The values for the new subscription.

Responses

Request samples

Content type
application/json
{
  • "options": {
    }
}

Create subscription

Create a new subscription

Authorizations:
AuthToken
path Parameters
account
required
string

The account name.

name
required
string

The subscription name.

Request Body schema: application/json
required
object

The values for the new subscription.

Responses

Request samples

Content type
application/json
{
  • "options": {
    }
}

Response samples

Content type
application/json
"string"

Get Subscription

Retrieve a subscription.

Authorizations:
AuthToken
path Parameters
account
required
string

The account name.

name
required
string

The subscription name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/subscriptions/{account}/{name} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get Subscription by Name

Retrieve a subscription by name.

Authorizations:
AuthToken
path Parameters
name
required
string

The subscription name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/subscriptions/name/{name} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Requests

Get Request

Get a request for a given DID to a destination RSE.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

Data identifier (scope)/(name).

rse
required
string

Destination rse.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/requests/{scope_name}/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": "string",
  • "request_type": "T",
  • "scope": "string",
  • "name": "string",
  • "did_type": "string",
  • "dest_rse_id": "string",
  • "source_rse_id": "string",
  • "attributes": "string",
  • "state": "Q",
  • "external_id": "string",
  • "external_host": "string",
  • "retry_count": 0,
  • "err_msg": "string",
  • "previous_attempt_id": "string",
  • "rule_id": "string",
  • "activity": "string",
  • "bytes": 0,
  • "md5": "string",
  • "adler32": "string",
  • "dest_url": "string",
  • "submitted_at": "string",
  • "started_at": "string",
  • "transferred_at": "string",
  • "estimated_at": "string",
  • "submitter_id": "string",
  • "estimated_stated_at": "string",
  • "estimated_transferred_at": "string",
  • "staging_started_at": "string",
  • "staging_finished_at": "string",
  • "account": "string",
  • "requested_at": "string",
  • "priority": 0,
  • "transfertool": "string",
  • "source_rse": "string",
  • "dest_rse": "string"
}

Get Historical Request

List a historical request for a given DID to a destination RSE.

Authorizations:
AuthToken
path Parameters
scope_name
required
string

Data identifier (scope)/(name).

rse
required
string

Destination rse.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/requests/history/{scope_name}/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": "string",
  • "request_type": "T",
  • "scope": "string",
  • "name": "string",
  • "did_type": "string",
  • "dest_rse_id": "string",
  • "source_rse_id": "string",
  • "attributes": "string",
  • "state": "Q",
  • "external_id": "string",
  • "external_host": "string",
  • "retry_count": 0,
  • "err_msg": "string",
  • "previous_attempt_id": "string",
  • "rule_id": "string",
  • "activity": "string",
  • "bytes": 0,
  • "md5": "string",
  • "adler32": "string",
  • "dest_url": "string",
  • "submitted_at": "string",
  • "started_at": "string",
  • "transferred_at": "string",
  • "estimated_at": "string",
  • "submitter_id": "string",
  • "estimated_stated_at": "string",
  • "estimated_transferred_at": "string",
  • "staging_started_at": "string",
  • "staging_finished_at": "string",
  • "account": "string",
  • "requested_at": "string",
  • "priority": 0,
  • "transfertool": "string",
  • "source_rse": "string",
  • "dest_rse": "string"
}

List Requests

List requests for a given source and destination RSE or site.

Authorizations:
AuthToken
query Parameters
Array of objects

The source rse.

Array of objects

The destination rse.

src_site
string

The source site.

dest_site
string

The destination site.

request_states
string

The accepted request states. Delimited by comma.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/requests/list?src_rse=SOME_ARRAY_VALUE&dest_rse=SOME_ARRAY_VALUE&src_site=SOME_STRING_VALUE&dest_site=SOME_STRING_VALUE&request_states=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

List Historic Requests

List historical requests for a given source and destination RSE or site.

Authorizations:
AuthToken
query Parameters
Array of objects

The source rse.

Array of objects

The destination rse.

src_site
string

The source site.

dest_site
string

The destination site.

request_states
string

The accepted request states. Delimited by comma.

offset
integer
Default: 0

The offset of the list.

limit
integer
Default: 100

The maximum number of items to return.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/requests/history/list?src_rse=SOME_ARRAY_VALUE&dest_rse=SOME_ARRAY_VALUE&src_site=SOME_STRING_VALUE&dest_site=SOME_STRING_VALUE&request_states=SOME_STRING_VALUE&offset=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get Request Statistics

Get statistics of requests grouped by source, destination, and activity.

Authorizations:
AuthToken
query Parameters
dest_rse
string

The destination RSE name

source_rse
string

The source RSE name

activity
string

The activity

group_by_rse_attribute
string

The parameter to group the RSEs by.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/requests/metrics?dest_rse=SOME_STRING_VALUE&source_rse=SOME_STRING_VALUE&activity=SOME_STRING_VALUE&group_by_rse_attribute=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Rucio Storage Elements

Create RSE Attribute

Create a RSE attribute with given RSE name.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

key
required
string

The name of the attribute of the RSE.

Request Body schema: application/json
value
required
string

The value of the RSE attribute.

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
"Created"

Delete RSE Attribute

Delete an RSE attribute for given RSE name.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

key
required
string

The name of the attribute of the RSE.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rses/{rse}/attr/{key} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Update Rse Distance

Update rse distance information.

Authorizations:
AuthToken
path Parameters
source
required
string

The name of the source Rucio Storage Element.

destination
required
string

The name of the destination Rucio Storage Element.

Request Body schema: application/json
distance
integer

The distance between the RSEs.

ranking
integer
Deprecated

Same as distance.

Responses

Request samples

Content type
application/json
{
  • "distance": 0,
  • "ranking": 0
}

Response samples

Content type
application/json
"Created"

Create Rse Distance

Post a rse distance.

Authorizations:
AuthToken
path Parameters
source
required
string

The name of the source Rucio Storage Element.

destination
required
string

The name of the destination Rucio Storage Element.

Request Body schema: application/json
distance
integer

The distance between RSEs.

ranking
integer
Deprecated

Same as distance.

Responses

Request samples

Content type
application/json
{
  • "distance": 0,
  • "ranking": 0
}

Response samples

Content type
application/json
"Created"

Delete Rse Distance

Delete distance information between source RSE and destination RSE.

Authorizations:
AuthToken
path Parameters
source
required
string

The name of the source Rucio Storage Element.

destination
required
string

The name of the destination Rucio Storage Element.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rses/{source}/distances/{destination} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Deleted"

Get Rse Distances

Returns the distances between a source and destination rse.

Authorizations:
AuthToken
path Parameters
source
required
string

The name of the source Rucio Storage Element.

destination
required
string

The name of the destination Rucio Storage Element.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{source}/distances/{destination} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Update Protocol Attributes

Updates attributes of an existing protocol entry. Because protocol identifier, hostname, and port are used as unique identifier they are immutable.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

scheme
required
string

The protocol identifier.

hostname
required
string

The hostname of the protocol.

port
required
integer

The port of the protocol.

Responses

Request samples

curl --request PUT \
  --url http://undefinedundefined/rses/{rse}/protocols/{scheme}/{hostname}/{port} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "deterministic": true,
  • "volatile": true,
  • "staging_area": "string",
  • "rse_type": "DISK",
  • "availability_read": true,
  • "availability_write": true,
  • "availability_delete": true,
  • "credentials": "string",
  • "domain": [ ],
  • "id": "string",
  • "lfn2pfn_algorithm": "string",
  • "qos_class": "string",
  • "rse": "string",
  • "sign_url": "string",
  • "verify_checksum": true,
  • "protocols": [
    ]
}

Delete Protocol Attributes

Delete all protocol attributes.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

scheme
required
string

The protocol identifier.

hostname
required
string

The hostname of the protocol.

port
required
integer

The port of the protocol.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rses/{rse}/protocols/{scheme}/{hostname}/{port} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

List RSE Protocols

List all supported protocols of the given RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{rse}/protocols \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "deterministic": true,
  • "volatile": true,
  • "staging_area": "string",
  • "rse_type": "DISK",
  • "availability_read": true,
  • "availability_write": true,
  • "availability_delete": true,
  • "credentials": "string",
  • "domain": [ ],
  • "id": "string",
  • "lfn2pfn_algorithm": "string",
  • "qos_class": "string",
  • "rse": "string",
  • "sign_url": "string",
  • "verify_checksum": true,
  • "protocols": [
    ]
}

Translate LFNs to PFNs

Return PFNs for a set of LFNs. Formatted as a JSON object where the key is a LFN and the value is the corresponding PFN.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

query Parameters
lfn
required
string

The lfns of the request.

scheme
string

Optional argument to help with the protocol selection (e.g., http / gsiftp / srm)

domain
string

Optional argument used to select the protocol for wan or lan use cases.

operation
string

Optional query argument to select the protocol for read-vs-writes.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/rses/{rse}/lfns2pfns?lfn=SOME_STRING_VALUE&scheme=SOME_STRING_VALUE&domain=SOME_STRING_VALUE&operation=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get Rse Account Usage and Limit

Returns the usage and limit of an account for a rse.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{rse}/accounts/usage \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Update Rse Usage

Update the RSE Update information.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Request Body schema: application/json
source
string

The information source, e.g. srm.

used
integer

The number of used bytes.

free
integer

The number of free bytes.

files
integer

The number of files.

Responses

Request samples

Content type
application/json
{
  • "source": "string",
  • "used": 0,
  • "free": 0,
  • "files": 0
}

Get Rse Usage Information

Get rse usage information.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

query Parameters
per_account
boolean

Boolean whether the usage should be also calculated per account or not.

source
string

The information source, e.g., srm.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/rses/{rse}/usage?per_account=SOME_BOOLEAN_VALUE&source=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get Rse Usage History

Get the rse usage history

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{rse}/usage/history \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Update Rse Limit

Update an rse limit.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Request Body schema: application/json
name
string

The name of the limit.

value
integer

The value of the limit.

Responses

Request samples

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

Delete Rse Limit

Delete an rse limit

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Request Body schema: application/json
name
required
string

The name of the limit.

Responses

Request samples

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

Get Rse Limits

Get the rse limits.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{rse}/limits \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "limit name1": 0,
  • "limit name2": 0
}

Add QoS policy

Add a QoS Policy to a RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

policy
required
string

The QoS policy to add to and rse.

Responses

Request samples

curl --request POST \
  --url http://undefinedundefined/rses/{rse}/qos_policy/{policy} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

Delete QoS Policy

Delete QoS policy from RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

policy
required
string

The QoS policy to add to and rse.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rses/{rse}/qos_policy/{policy} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Update RSE

Update RSE properties.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Request Body schema: application/json
availability_read
boolean

The vailability of the RSE.

availability_write
boolean

The vailability of the RSE.

availability_delete
boolean

The vailability of the RSE.

deterministic
boolean

If the pfn is generated deterministicly.

volatile
boolean

RSE cache.

city
string

The city of the RSE.

staging_area
string

Staging area.

region_code
string

The region code of the RSE.

country_name
string

The country name of the RSE.

time_zone
string

The time zone of the RSE.

rse_type
string
Enum: "DISK" "TAPE"

The rse type.

latitude
number

The latitude of the RSE.

longitude
number

The longitude of the RSE.

Responses

Request samples

Content type
application/json
{
  • "availability_read": true,
  • "availability_write": true,
  • "availability_delete": true,
  • "deterministic": true,
  • "volatile": true,
  • "city": "string",
  • "staging_area": "string",
  • "region_code": "string",
  • "country_name": "string",
  • "time_zone": "string",
  • "rse_type": "DISK",
  • "latitude": 0,
  • "longitude": 0
}

Response samples

Content type
application/json
"Created"

Create RSE

Creates a RSE with all the metadata.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Request Body schema: application/json
deterministic
boolean

If the pfn is generated deterministicly.

volatile
boolean

RSE cache.

city
string

The city of the RSE.

staging_area
string

Staging area.

region_code
string

The region code of the RSE.

country_name
string

The country name of the RSE.

continent
string

The continent of the RSE.

time_zone
string

The time zone of the RSE.

ISP
string

The internet service provider of the RSE.

rse_type
string
Enum: "DISK" "TAPE"

The rse type.

latitude
number

The latitude of the RSE.

longitude
number

The longitude of the RSE.

ASN
string

The access service network of the RSE.

availability
integer
Deprecated

The availability of the RSE.

availability_read
boolean

If the RSE is readable.

availability_write
boolean

If the RSE is writable.

availability_delete
boolean

If the RSE is deletable.

Responses

Request samples

Content type
application/json
{
  • "deterministic": true,
  • "volatile": true,
  • "city": "string",
  • "staging_area": "string",
  • "region_code": "string",
  • "country_name": "string",
  • "continent": "string",
  • "time_zone": "string",
  • "ISP": "string",
  • "rse_type": "DISK",
  • "latitude": 0,
  • "longitude": 0,
  • "ASN": "string",
  • "availability": 0,
  • "availability_read": true,
  • "availability_write": true,
  • "availability_delete": true
}

Response samples

Content type
application/json
"Created"

Disable RSE

Disable a specific RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rses/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Get RSE

Get details about a specific RSE.

Authorizations:
AuthToken
path Parameters
rse
required
string

The name of the Rucio Storage Element name.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rses/{rse} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "deterministic": true,
  • "volatile": true,
  • "city": "string",
  • "staging_area": "string",
  • "region_code": "string",
  • "country_name": "string",
  • "continent": "string",
  • "time_zone": "string",
  • "ISP": "string",
  • "rse_type": "DISK",
  • "latitude": 0,
  • "longitude": 0,
  • "ASN": "string",
  • "availability": 0,
  • "availability_read": 0,
  • "availability_write": 0,
  • "availability_delete": null
}

List RSEs

Lists all RSEs.

Authorizations:
AuthToken
query Parameters
expression
string

RSE expression to select RSEs.

Responses

Request samples

curl --request GET \
  --url 'http://undefinedundefined/rses/?expression=SOME_STRING_VALUE' \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Rule

Update the replication rules parameters

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Request Body schema: application/json

Parameters for the new rule.

required
object

The parameters to change.

Responses

Request samples

Content type
application/json
{
  • "options": {
    }
}

Delete a replication rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Responses

Request samples

curl --request DELETE \
  --url http://undefinedundefined/rules/{rule_id} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Return a Rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/{rule_id} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"string"

Create a new replication rule

Authorizations:
AuthToken
Request Body schema: application/json

Parameters for the new rule.

required
Array of objects

The list of data identifiers.

account
required
string

The account of the issuer.

copies
required
integer

The number of replicas.

rse_expression
required
string

The rse expression which gets resolved into a list of RSEs.

grouping
string

The grouping of the files to take into account. (ALL, DATASET, NONE)

weight
number

Weighting scheme to be used.

lifetime
integer

The lifetime of the replication rule in seconds.

locked
boolean

If the rule is locked.

subscription_id
string

The subscription_id, if the rule is created by a subscription.

sourse_replica_expression
string

Only use replicas as source from these RSEs.

activity
string

Activity to be passed to the conveyor.

notify
string

Notification setting of the rule ('Y', 'N', 'C'; None = 'N').

purge_replicas
boolean

Purge setting if a replica should be directly deleted after the rule is deleted.

ignore_availability
boolean

Option to ignore the availability of RSEs.

comments
string

Comment about the rule.

ask_approval
boolean

Ask for approval for this rule.

asynchronous
boolean

Create replication rule asynchronously by the judge-injector.

priority
integer

Priority of the rule and the transfers which should be submitted.

split_container
boolean

Should a container rule be split into individual dataset rules.

meta
string

Dictionary with metadata from the WFMS.

Responses

Request samples

Content type
application/json
{
  • "dids": [
    ],
  • "account": "string",
  • "copies": 0,
  • "rse_expression": "string",
  • "grouping": "string",
  • "weight": 0,
  • "lifetime": 0,
  • "locked": true,
  • "subscription_id": "string",
  • "sourse_replica_expression": "string",
  • "activity": "string",
  • "notify": "string",
  • "purge_replicas": true,
  • "ignore_availability": true,
  • "comments": "string",
  • "ask_approval": true,
  • "asynchronous": true,
  • "priority": 0,
  • "split_container": true,
  • "meta": "string"
}

Response samples

Content type
application/json
[
  • "string"
]

Return all rules for a given account

Authorizations:
AuthToken

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/ \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"string"

Return all locks for a Rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/{rule_id}/locks \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Reduce a replication rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Request Body schema: application/json
copies
required
integer

Number of copies to keep.

Responses

Request samples

Content type
application/json
{
  • "copies": 0
}

Response samples

Content type
application/json
[
  • "string"
]

Move a replication Rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Request Body schema: application/json
rse_expression
required
string

The new rse expression.

rule_id
string

The rule_id of the rule to moves. If specified, overrides the rule_id parameter.

activity
string

The activity of the moved rule.

source_replica_expression
string

The source_replica_expression of the moved rule.

Responses

Request samples

Content type
application/json
{
  • "rse_expression": "string",
  • "rule_id": "string",
  • "activity": "string",
  • "source_replica_expression": "string"
}

Response samples

Content type
application/json
[
  • "string"
]

Get the history of a rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/{rule_id}/history \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Get the history of a DID

Authorizations:
AuthToken
path Parameters
scope_name
required
string

The data identifier of scope-name to retrieve the history from. ((scope)/(name))

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/{scope_name}/history \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/x-json-stream
[
  • {
    }
]

Get the analysis of a rule

Authorizations:
AuthToken
path Parameters
rule_id
required
string

The id of the replication rule.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/rules/{rule_id}/analysis \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "rule_error": "string",
  • "transfers": [
    ]
}

Scopes

Add Scope

Adds a new scope.

Authorizations:
AuthToken
path Parameters
account
required
string

The account associated with the scope.

scope
required
string

The name of the scope.

Responses

Request samples

curl --request POST \
  --url http://undefinedundefined/scopes/{account}/{scope} \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
"Created"

List Account Scopes

List all scopes for an account.

Authorizations:
AuthToken
path Parameters
account
required
string

The account associated with the scope.

Responses

Request samples

curl --request GET \
  --url http://undefinedundefined/scopes/{account}/scopes \
  --header 'X-Rucio-Auth-Token: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • "string"
]