Rucio (36.0.0)

Download OpenAPI specification:

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

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 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 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'

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"

Account

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 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"

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
{ }

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
[
  • [
    ]
]

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"
}

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"

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
[
  • {
    }
]

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"
}

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'

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"

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
{ }

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

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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'

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"

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"

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'

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
{ }

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
{ }

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"

Credentials

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
[
  • {
    }
]

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'

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
[
  • {
    }
]

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
[
  • {
    }
]

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": [
    ]
}

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"

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
{ }

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'

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"

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
[
  • {
    }
]

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
[
  • {
    }
]

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"
}

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"
}

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

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
[
  • { }
]

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"
}

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

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
[
  • {
    }
]

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"

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
[
  • {
    }
]

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"

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"

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 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"

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"

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"
]

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"

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', 'random'.

sort
string

Requested sorting of the result, e.g., 'geoip', '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', '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" "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
[
  • {
    }
]

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
[
  • {
    }
]

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 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