Registration API

Registration service

Resources

  1. region
  2. registration
  3. tenant

Region

Enpoints to interact with current available regions in which tenants can be created in the Roambi system.

$AUTH_TOKEN in the documentation below refers to an authentication token provided by Roambi to trusted users.

Attributes

Name Type Description Example
id string unique identifier of region "prapuse1"
name string unique name of region "US East"

Operations

  1. List

List existing regions.

GET /regions

Required Headers

The following extra headers are required:

  Authorization: Token token=$AUTH_TOKEN

Curl Example

$ curl -n -X GET https://registration.roambi.com/regions \
  -H "Authorization: Token token=$AUTH_TOKEN"

Response Example

HTTP/1.1 200 OK
[
  {
    "id": "prapuse1",
    "name": "US East"
  }
]

Registration actions

Actions to register an account or an organization or a user in the system

Attributes

Name Type Description Example

Operations

  1. #process_signup

Create an account (an organization and a user)

POST /process_signup

#### Required Parameters

Name Type Description Example
hash_key string Checksum of the form data "064c064bbb91c06097248b5e096e8631e7d61857886215a623e877ea334e4ef4"
user_data:email string Email "user@example.com"
user_data:family_name string Last name
user_data:given_name string First name
user_data:terms integer Terms of Service acceptance 1
user_data:type string Product type "business"

Curl Example

$ curl -n -X POST https://registration.roambi.com/process_signup \
  -H "Content-Type: application/json" \
  -d '{
  "user_data": {
    "given_name": "example",
    "family_name": "example",
    "email": "user@example.com",
    "terms": 1,
    "type": "business"
  },
  "hash_key": "064c064bbb91c06097248b5e096e8631e7d61857886215a623e877ea334e4ef4"
}'

Response Example

HTTP/1.1 201 Created
{
}

Tenant

Endpoints to create, update, list and show tenants in the Roambi system

$AUTH_TOKEN in the documentation below refers to an authentication token provided by Roambi to trusted users.

Attributes

Name Type Description Example
available_licenses integer number of licenses that have not been assigned to users
created_at date-time when tenant was created "2017-05-17T19:03:24Z"
enabled boolean flag that marks the current status of tenant true
end_date date-time date after which the account will be consider expired "2017-05-17T19:03:24Z"
external_identifiers/id string External identifier "SPC-123456789"
external_identifiers/type string Type of external identifier. The "spc" type is kept for backward compatibility. Please use "spc_tenant" or "spc_customer"
one of:"spc" or "spc_customer" or "spc_tenant" or "sapstore"
"spc_tenant"
name string name of tenant "ACME, Inc"
region string Geopraphic region where the data for the tenant resides. It must be a valid id for a region resource. "prapuse1"
total_licenses integer number of licenses
type_of_account string Type of account
one of:"unknown" or "trial" or "customer" or "partner" or "internal"
"customer"
uid uuid unique identifier of tenant "01234567-89ab-cdef-0123-456789abcdef"
updated_at date-time when tenant was updated. Update calls that don't result in data modification will not trigger this field to change "2017-05-17T19:03:24Z"

Operations

  1. Create
  2. Info
  3. List
  4. Update

Create a new tenant. The tenant will be provisioned asynchronously. The response will include the uid that the tenant will have in the Roambi system. The tenant will not be listed or shown until fully provisioned.

POST /tenants

#### Required Parameters

Name Type Description Example
contact:email email Email for the contact person "john@smith.com"
contact:first_name string First (Given) name for the contact person "John"
contact:last_name string Last (Family) name for the contact person "Smith"
end_date date-time date after which the account will be consider expired "2017-05-17T19:03:24Z"
name string name of tenant "ACME, Inc"
region string Geopraphic region where the data for the tenant resides. It must be a valid id for a region resource. "prapuse1"
total_licenses integer number of licenses
type_of_account string Type of account
one of:"unknown" or "trial" or "customer" or "partner" or "internal"
"customer"

Optional Parameters

Name Type Description Example
external_identifiers/id string External identifier "SPC-123456789"
external_identifiers/type string Type of external identifier. The "spc" type is kept for backward compatibility. Please use "spc_tenant" or "spc_customer"
one of:"spc" or "spc_customer" or "spc_tenant" or "sapstore"
"spc_tenant"

Required Headers

The following extra headers are required:

  Authorization: Token token=$AUTH_TOKEN

Curl Example

$ curl -n -X POST https://registration.roambi.com/tenants \
  -H "Authorization: Token token=$AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "ACME, Inc",
  "total_licenses": 42,
  "end_date": "2017-05-17T19:03:24Z",
  "type_of_account": "customer",
  "region": "prapuse1",
  "contact": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john@smith.com"
  },
  "external_identifiers": [
    {
      "type": "spc_tenant",
      "id": "SPC-123456789"
    }
  ]
}'

Response Example

HTTP/1.1 201 Created
{
  "uid": "01234567-89ab-cdef-0123-456789abcdef"
}

Info for existing tenant.

GET /tenants/{tenant_uid}

Required Headers

The following extra headers are required:

  Authorization: Token token=$AUTH_TOKEN

Curl Example

$ curl -n -X GET https://registration.roambi.com/tenants/$TENANT_UID \
  -H "Authorization: Token token=$AUTH_TOKEN"

Response Example

HTTP/1.1 200 OK
{
  "uid": "01234567-89ab-cdef-0123-456789abcdef",
  "name": "ACME, Inc",
  "total_licenses": 42,
  "available_licenses": 42,
  "end_date": "2017-05-17T19:03:24Z",
  "external_identifiers": [
    {
      "type": "spc_tenant",
      "id": "SPC-123456789"
    }
  ],
  "type_of_account": "customer",
  "enabled": true,
  "region": "prapuse1",
  "created_at": "2017-05-17T19:03:24Z",
  "updated_at": "2017-05-17T19:03:24Z"
}

List existing tenants. The response will be paginated to conserve server resources. When the response does not include all items, it will include a Link header URL to follow for the next set of items:

Link: <https://prod1-registrationservice.roambi.com/tenants?start_uid=XXX>; rel="next"

The Link header will be missing once there are no more items to return.

GET /tenants

#### Required Parameters

Name Type Description Example
region string Geopraphic region where the data for the tenant resides. It must be a valid id for a region resource. "prapuse1"

Required Headers

The following extra headers are required:

  Authorization: Token token=$AUTH_TOKEN

Curl Example

$ curl -n -X GET https://registration.roambi.com/tenants \
  -H "Authorization: Token token=$AUTH_TOKEN" \
  -d "region=prapuse1"

Response Example

HTTP/1.1 200 OK
[
  {
    "uid": "01234567-89ab-cdef-0123-456789abcdef",
    "name": "ACME, Inc",
    "total_licenses": 42,
    "available_licenses": 42,
    "end_date": "2017-05-17T19:03:24Z",
    "external_identifiers": [
      {
        "type": "spc_tenant",
        "id": "SPC-123456789"
      }
    ],
    "type_of_account": "customer",
    "enabled": true,
    "region": "prapuse1",
    "created_at": "2017-05-17T19:03:24Z",
    "updated_at": "2017-05-17T19:03:24Z"
  }
]

Update an existing tenant. The update process happens asynchronously, so changes may take some time to be reflected when shown or listed.

external_identifiers are updated by type: When submitting an update with an external_identifier of the same type as an existing external_identifier, the id will be updated with the new value. If an external_identifier does not exists of the submitted type, a new one will be created.

The updated_at field will change on a tenant after an Update operation, only if the tenant is being modified. For example, updating the type_of_account to the same value that is already set or adding an external_identifier that already exists, will not change the updated_at field.

PATCH /tenants/{tenant_uid}

Optional Parameters

Name Type Description Example
additional_licenses integer number of licenses to add for tenant
end_date date-time date after which the account will be consider expired "2017-05-17T19:03:24Z"
external_identifiers/id string External identifier "SPC-123456789"
external_identifiers/type string Type of external identifier. The "spc" type is kept for backward compatibility. Please use "spc_tenant" or "spc_customer"
one of:"spc" or "spc_customer" or "spc_tenant" or "sapstore"
"spc_tenant"
name string name of tenant "ACME, Inc"
type_of_account string Type of account
one of:"unknown" or "trial" or "customer" or "partner" or "internal"
"customer"

Required Headers

The following extra headers are required:

  Authorization: Token token=$AUTH_TOKEN

Curl Example

$ curl -n -X PATCH https://registration.roambi.com/tenants/$TENANT_UID \
  -H "Authorization: Token token=$AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "ACME, Inc",
  "end_date": "2017-05-17T19:03:24Z",
  "type_of_account": "customer",
  "external_identifiers": [
    {
      "type": "spc_tenant",
      "id": "SPC-123456789"
    }
  ],
  "additional_licenses": 42
}'

Response Example

HTTP/1.1 200 OK
{
  "uid": "01234567-89ab-cdef-0123-456789abcdef"
}

Generated by platform-service-schema v.1.3.1