Skip to content

Accounts (1.0.0)

The Accounts API allows you register users and to access user account information. You can use it to retrieve details such as the user's e-mail address or the account's block status. You can also use it to block, and in some cases unblock, user accounts.

Download OpenAPI description
Languages
Servers
Mock server
https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/
Production Environment
https://accounts.tilia-inc.com/
Staging Environment
https://accounts.staging.tilia-inc.com/

webhooks

Webhooks

Register account

Request

Register a new user account. Each user account must be created with at least one of the following: user's email address or user_ID from an external payment provider (e.g. Steam or Oculus).

When a value for one of the external_platformsis specified, a special Pay on Behalf of (POBO) payment method will be created for the user, which can be used in subsequent transactions. If provided, full name and address details will be associated with the user's POBO payment method. When providing PII, state_province and country_iso must be sent together in the same request. All other fields can be sent separately. For more information about this type of interaction, refer to External Payment Platforms.

Successful completion triggers this notification
Security
tilia_auth
Bodyapplication/jsonrequired

Account resource

usernamestring<= 64 charactersrequired

The desired username for the account.

emailobjectrequired

The user's email information. If no external_platforms value is assigned, this property requires a valid email address. If an external_platforms property is assigned, this property must not be present.

email.​addressstring(email)<= 254 characters

The user's email address that's attached to the account. This value must be a valid email address. Tilia uses this address to contact the user about their account. You must notify Tilia if the user's email address changes.

email.​requires_verificationboolean
external_platformsobject
full_namestring

The full name of the person associated with the payment method.

Example: "Jessica Pley"
street_address_1string

Address line 1 of the billing address (e.g., street, P.O. Box, or company name).

Example: "1 Alden Way"
street_address_2string

Address line 2 of the billing address (e.g., unit, apartment, suite, or building).

Example: "BLDG 3"
street_address_3string

Address line 3 of the billing address.

Example: "APT 6"
citystring

City of the billing address.

Example: "Atlanta"
state_provincestring

State or Province of the billing address.

Example: "GA"
country_isostring

2-letter ISO 3166 Country code of the billing address.

Example: "US"
zip_postal_codestring

Zip or postal code of the billing address.

Example: "30301"
curl -i -X POST \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/register \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "username": "string",
    "email": {
      "address": "user@example.com",
      "requires_verification": true
    },
    "external_platforms": {
      "steam": {
        "user_id": "<steam_id>"
      },
      "oculus": {
        "user_id": "<oculus_id>"
      },
      "apple": {
        "user_id": "<apple_id>"
      },
      "google": {
        "user_id": "<google_id>"
      },
      "microsoft": {
        "user_id": "<microsoft_id>"
      },
      "nintendo": {
        "user_id": "<nintendo_id>"
      },
      "sony": {
        "user_id": "<sony_id>"
      }
    },
    "full_name": "Jessica Pley",
    "street_address_1": "1 Alden Way",
    "street_address_2": "BLDG 3",
    "street_address_3": "APT 6",
    "city": "Atlanta",
    "state_province": "GA",
    "country_iso": "US",
    "zip_postal_code": "30301"
  }'

Responses

Account profile was registered successfully.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: null
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: null
payloadobject(RegisterAccountResponse)
Response
application/json
{ "status": "Success", "message": null, "codes": null, "payload": { "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "email": {}, "external_platforms": {}, "username": "string", "full_name": "Jessica Pley", "street_address_1": "1 Alden Way", "street_address_2": "BLDG 3", "street_address_3": "APT 6", "city": "Atlanta", "state_province": "GA", "country_iso": "US", "zip_postal_code": "30301" } }

Merge accounts

Request

Merge source account virtual token balances into destination account wallets

The source account is closed and both accounts are tagged accordingly.

Security
tilia_auth
Bodyapplication/jsonrequired

Merge account request

source_account_idstring<= 36 charactersrequired
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
destination_account_idstring<= 36 charactersrequired
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
curl -i -X POST \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v2/merge-accounts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "source_account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b",
    "destination_account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
  }'

Responses

The request was successful

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: null
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: null
Response
application/json
{ "status": "Success", "message": null, "codes": null }

Block account capability

Request

Prevents an account from performing the specified capability.

Successful completion triggers this notification

For more information about event notifications, visit Webhooks.

Security
tilia_auth
Bodyapplication/json

Block account request

account_idstring(AccountIdCommon)<= 36 charactersrequired
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
block_capabilitystringrequired

Prevented account capability

Possible values:

  • login: Prevents account from accessing the platform. This capability includes all other block capabilities
Example: "login"
block_reasonstringrequired

Reason for issuing the block

Possible values:

  • account_close
Example: "account_close"
notestring

Custom note to attach to the account

Example: "Example note"
curl -i -X POST \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v2/block \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b",
    "block_capability": "login",
    "block_reason": "account_close",
    "note": "Example note"
  }'

Responses

The request was successful

Bodyapplication/json
account_idstring(AccountIdCommon)<= 36 characters
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
blocksobject

Active blocks enforced on the account

Response
application/json
{ "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "blocks": { "<block_capability>": {} } }

Unblock account capability

Request

Permit a previously blocked account capability.

Successful completion triggers this notification

For more information about event notifications, visit Webhooks.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

Tilia account ID

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
block_capabilitystringrequired

Prevented account capability

Possible values:

  • login: Prevents account from accessing the platform. This capability includes all other block capabilities
Example: login
curl -i -X DELETE \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v2/block/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b/capability/login \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The request was successful

Bodyapplication/json
account_idstring(AccountIdCommon)<= 36 characters
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
blocksobject

Active blocks enforced on the account

Response
application/json
{ "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "blocks": { "<block_capability>": {} } }

Get account blocks

Request

Retrieve a list of all prevented capabilities associated with an account

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

Tilia account ID

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
curl -i -X GET \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v2/block/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The request was successful

Bodyapplication/json
account_idstring(AccountIdCommon)<= 36 characters
Example: "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b"
blocksobject

Active blocks enforced on the account

Response
application/json
{ "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "blocks": { "<block_capability>": {} } }

Get account profile

Request

Get profile information for the specified account, including the account holder's email address and whether the account is blocked.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

The account ID to retrieve.

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
curl -i -X GET \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v1/user-info/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Account profile was retrieved successfully.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: null
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: null
payloadobject(ProfileInfoResponse)
Response
application/json
{ "status": "Success", "message": null, "codes": null, "payload": { "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "username": "david_gaimer@mail.io", "email": "david_gaimer@mail.io", "is_blocked": false, "blocked_capabilities": {}, "integrator": "acme", "tags": [], "created": "2019-08-24T14:15:22Z" } }

Search by username

Request

Get profile information for the specified username, including the account holder's email address and whether the account is blocked. Special characters like +s must be urlencoded. For example, user+1@test.com would be user%2B1%40test%2Ecom

Security
tilia_auth
Query
usernamestringrequired

The username to retrieve.

curl -i -X GET \
  'https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v1/user-info/search?username=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Account profile was retrieved successfully.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: null
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: null
payloadobject(ProfileInfoResponse)
Response
application/json
{ "status": "Success", "message": null, "codes": null, "payload": { "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "username": "david_gaimer@mail.io", "email": "david_gaimer@mail.io", "is_blocked": false, "blocked_capabilities": {}, "integrator": "acme", "tags": [], "created": "2019-08-24T14:15:22Z" } }

Check for Terms of Service

Request

Returns whether or not the account holder has signed the latest version of Tilia's Terms of Service.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

The account ID to retrieve.

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
curl -i -X GET \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/user-info/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b/tos/tilia \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Indicates if Tilia ToS is signed.

Bodyapplication/json
signed_tosboolean
Response
application/json
{ "signed_tos": true }

Sign Tilia terms of service

Request

[REQUIRES TILIA] Signs Tilia's Terms of Service for the given account. Reach out to Tilia to gain access to this API.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

The account ID to retrieve.

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
curl -i -X POST \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/user-info/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b/tos/tilia \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The request was successful.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: []
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: []
payloadobject

The response payload.

Response
application/json
{ "status": "Success", "message": [], "codes": [], "payload": null }

Unsign Tilia terms of service

Request

[STAGING ONLY] Sets the Tilia's Terms of Service to false for the given account. This API is meant for integration testing purposes.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

The account ID to unsign the ToS.

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
curl -i -X DELETE \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/user-info/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b/tos/tilia \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The request was successful.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: []
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: []
payloadobject

The response payload.

Response
application/json
{ "status": "Success", "message": [], "codes": [], "payload": null }

Get the current Terms of Service

Request

Returns the latest version of Tilia's Terms of Service.

Security
tilia_auth
curl -i -X GET \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/v1/tos \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The Tilia Terms of Service.

Bodyapplication/json
tos_createdstring
Example: "2019-08-01"
tos_contentstring
Example: "These Terms of Service (Terms) are a legal agreement between you and Tilia Inc."
Response
application/json
{ "tos_created": "2019-08-01", "tos_content": "These Terms of Service (Terms) are a legal agreement between you and Tilia Inc." }

Update account profile

Request

Update account information. This API allows for updating the contact details for an account, as well as adding an external payment platform User ID (e.g. Steam or Oculus).

When a value for external payment platform is specified, a special 'Pay on Behalf of' (POBO) payment method will be created for the user, which can be used in subsequent transactions. If provided, full name and address details will be associated with the user's POBO payment method. When providing PII state_provice and country_iso must be sent in the request together; all other fields can be sent on their own. For more information on this type of interaction, refer to External Payment Platforms.

Security
tilia_auth
Path
account_idstring(AccountId)<= 36 charactersrequired

The account ID to retrieve.

Example: acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b
Bodyapplication/jsonrequired

Account resource

emailobject

The email information for the user.

external_platformsobject
full_namestring

Full name of the person associated with the payment method.

Example: "Jessica Pley"
street_address_1string

Address line 1 of the billing address (e.g., street, P.O. Box, or company name).

Example: "1 Alden Way"
street_address_2string

Address line 2 of the billing address (e.g., unit, apartment, suite, or building).

Example: "BLDG 13"
street_address_3string

Address line 3 of the billing address.

Example: "APT 6"
citystring

City of the billing address.

Example: "Atlanta"
state_provincestring

State or Province of the billing address.

Example: "GA"
country_isostring

2-letter ISO 3166 Country code of the billing address.

Example: "US"
zip_postal_codestring

Zip or postal code of the billing address.

Example: "30301"
curl -i -X PUT \
  https://thunes-tilia-docs.redocly.app/_mock/openapi/prod/accounts/openapi/user-info/acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": {
      "address": "user@example.com",
      "requires_verification": true
    },
    "external_platforms": {
      "steam": {
        "user_id": "<steam_id>"
      },
      "oculus": {
        "user_id": "<oculus_id>"
      },
      "apple": {
        "user_id": "<apple_id>"
      },
      "google": {
        "user_id": "<google_id>"
      },
      "microsoft": {
        "user_id": "<microsoft_id>"
      },
      "nintendo": {
        "user_id": "<nintendo_id>"
      },
      "sony": {
        "user_id": "<sony_id>"
      }
    },
    "full_name": "Jessica Pley",
    "street_address_1": "1 Alden Way",
    "street_address_2": "BLDG 13",
    "street_address_3": "APT 6",
    "city": "Atlanta",
    "state_province": "GA",
    "country_iso": "US",
    "zip_postal_code": "30301"
  }'

Responses

Account profile was updated successfully.

Bodyapplication/json
statusstring

The status of the request, either Success or Failure.

Example: "Success"
messageArray of strings

An array of short, human-readable messages describing the failure. If the request was successful, this array will be empty.

Example: null
codesArray of strings

An array of failure reason codes. If the request was successful, this array will be empty.

Example: null
payloadobject(UpdateAccountResponse)
Response
application/json
{ "status": "Success", "message": null, "codes": null, "payload": { "account_id": "acct_2TiDFXHVFMlAuyy7ovvz3YPKv9b", "email": {}, "external_platforms": {}, "full_name": "Jessica Pley", "street_address_1": "1 Alden Way", "street_address_2": "BLDG 13", "street_address_3": "APT 6", "city": "Atlanta", "state_province": "GA", "country_iso": "US", "zip_postal_code": "30301" } }