Skip to main content

Create a new account

Contributors

POST /accounts

Indicates the desired values for the Account API resource to be created.

Request Body

Indicates the desired values for the Account API resource to be created.

Name Type Required Description

type

string

True

Media type of the resource. Defined values are:

  • "application/astra-account"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

name

string

True

JSON string containing a name for the account. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

metadata

type_astra_metadata_update

False

Client and service-specified metadata associated with the resource. Defined values are:

  • Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.

Example request
{
  "type": "application/astra-account",
  "version": "1.0",
  "name": "Testing 123"
}

Response

Status: 201, Returns the newly created account resource in the JSON response body.
Name Type Required Description

type

string

True

Media type of the resource. Defined values are:

  • "application/astra-account"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

id

string

True

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

name

string

True

JSON string containing a name for the account. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

state

string

True

JSON string containing a value indicating the operational state of the account. Defined values are:

  • "pending" - Changes can only be made to user and role resources under the account (default value)

  • "active" - Changes can be made to any resource under the account

  • "deletePending" - Users cannot log in, data protection operations are suspended, charges no longer accrue

isEnabled

string

True

JSON string indicating the account is enabled. Defined values are:

  • "false" - Users are not permitted to use this account

  • "true" - Users are permitted to use this account

enabledTimestamp

string

False

JSON string containing the timestamp indicating when the account was last enabled. If the account has never been enabled, this field is absent. Defined values are:

  • Conforms to the ISO-8601 Date Time Schema

accountContact

accountContact

False

JSON object containing user contact information to create an owner user at the time of account activation.

metadata

type_astra_metadata_update

True

Client and service-specified metadata associated with the resource. Defined values are:

  • Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.

Example response
{
  "type": "application/astra-account",
  "version": "1.0",
  "id": "666a3f38-d4fa-5b62-a391-a69029758d32",
  "name": "fraught-pines",
  "state": "pending",
  "isEnabled": "false",
  "enabledTimestamp": "2020-08-06T12:24:52.256624Z",
  "metadata": {
    "labels": [],
    "creationTimestamp": "2022-10-06T20:58:16.305662Z",
    "modificationTimestamp": "2022-10-06T20:58:16.305662Z",
    "createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
  }
}

Response

Status: 401, Unauthorized
Name Type Required Description

type

string

True

title

string

True

detail

string

True

status

string

True

correlationID

string

False

Example response
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

Response

Status: 400, Bad request
Name Type Required Description

type

string

True

title

string

True

detail

string

True

status

string

True

correlationID

string

False

invalidFields

array[invalidFields]

False

List of invalid request body fields

Example response
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

Response

Status: 409, Conflict
Name Type Required Description

type

string

True

title

string

True

detail

string

True

status

string

True

correlationID

string

False

invalidFields

array[invalidFields]

False

List of invalid request body fields

Example response
{
  "type": "https://astra.netapp.io/problems/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

Response

Status: 403, Forbidden
Name Type Required Description

type

string

True

title

string

True

detail

string

True

status

string

True

correlationID

string

False

Example response
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

Error

Status: 404, Not found
Name Type Required Description

type

string

True

title

string

True

detail

string

True

status

string

True

correlationID

string

False

Example error response
{
  "type": "https://astra.netapp.io/problems/2",
  "title": "Collection not found",
  "detail": "The collection specified in the request URI wasn't found.",
  "status": "404"
}

Definitions

See Definitions

type_astra_label

Name Type Required Description

name

string

True

value

string

True

type_astra_metadata_update

Client and service-specified metadata associated with the resource. Defined values are:

  • Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.

Name Type Required Description

labels

array[type_astra_label]

False

creationTimestamp

string

False

modificationTimestamp

string

False

createdBy

string

False

modifiedBy

string

False

postalAddress

JSON object containing a collection of JSON strings specifying an address. If this key does not exist, it indicates that an address has not been provided. If this key exists, all six of the contained JSON strings will be present. If you provide nothing, the string will be empty.

Name Type Required Description

addressCountry

string

True

JSON string containing the country name or country code associated with the postal address, as specified in ISO 3166 Alpha-2. Defined values are:

  • Minimum length: 2

  • Maximum length: 2

addressLocality

string

True

JSON string containing the locality (for example, city) associated with the postal address. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

addressRegion

string

True

JSON string containing the region (for example, state) associated with the postal address. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

postalCode

string

True

JSON string containing the postal code associated with the postal address. Defined values are:

  • Minimum length: 1

  • Maximum length: 31

streetAddress1

string

True

JSON string containing the street address associated with the postal address. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

streetAddress2

string

False

JSON string containing optional ancillary street address information, post office box, and more. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

accountContact

JSON object containing user contact information to create an owner user at the time of account activation.

Name Type Required Description

firstName

string

True

JSON string containing a user specified long-form first name. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

lastName

string

True

JSON string containing a user specified long-form last name. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

companyName

string

False

JSON string containing the company name associated with the user. If this key does not exist, it indicates that a company name has not been provided. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

email

string

True

JSON strings containing a user specified email address. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

phone

string

False

JSON string containing the phone number of the user. If this key does not exist, it indicates that a phone number has not been provided. Defined values are:

  • Minimum length: 1

  • Maximum length: 31

postalAddress

postalAddress

True

JSON object containing a collection of JSON strings specifying an address. If this key does not exist, it indicates that an address has not been provided. If this key exists, all six of the contained JSON strings will be present. If you provide nothing, the string will be empty.

invalidParams

Name Type Required Description

name

string

True

Name of the invalid query parameter

reason

string

True

Reason why the query parameter is invalid

invalidFields

Name Type Required Description

name

string

True

Name of the invalid request body field

reason

string

True

Reason why the request body field is invalid