Create a new credential
POST /accounts/{account_id}/core/v1/credentials
Indicates the desired values for the Credential API resource to be created.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
Request Body
Indicates the desired values for the Credential API resource to be created.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
name |
string |
True |
JSON string containing a user-specified name. When a credential is created for a user, the name will be set to the UUID of that user. Defined values are:
|
keyType |
string |
False |
JSON string containing an optional user-specified data validation type descriptor for the contents of the keyStore. Extended update constraints:
|
keyStore |
True |
JSON object containing JSON strings. Each string in the keyStore represents part of the credential. The name of each string represents the credential part, and the corresponding key-value stores the value of that part of the credential in base64 format. Defined values are:
|
|
valid |
string |
False |
JSON string describing whether the credential is valid for use. Default value, if omitted, is "true". Defined values are:
|
validFromTimestamp |
string |
False |
JSON string containing a timestamp indicating when the credential is valid. These are used for credential rotation. Defined values are:
|
validUntilTimestamp |
string |
False |
JSON string containing a timestamp indicating when the credential is no longer valid. These are used for credential rotation. Defined values are:
|
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"type": "application/astra-credential",
"version": "1.1",
"name": "myCert",
"keyStore": {
"privKey": "SGkh",
"pubKey": "VGhpcyBpcyBhbiBleGFtcGxlLg=="
}
}
Response
Status: 201, Returns the newly created credential resource in the JSON response body.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
True |
Globally unique identifier of the resource. Defined values are:
|
name |
string |
True |
JSON string containing a user-specified name. When a credential is created for a user, the name will be set to the UUID of that user. Defined values are:
|
keyType |
string |
False |
JSON string containing an optional user-specified data validation type descriptor for the contents of the keyStore. Extended update constraints:
|
valid |
string |
True |
JSON string describing whether the credential is valid for use. Default value, if omitted, is "true". Defined values are:
|
validFromTimestamp |
string |
False |
JSON string containing a timestamp indicating when the credential is valid. These are used for credential rotation. Defined values are:
|
validUntilTimestamp |
string |
False |
JSON string containing a timestamp indicating when the credential is no longer valid. These are used for credential rotation. Defined values are:
|
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example response
{
"type": "application/astra-credential",
"version": "1.1",
"id": "58e26f6a-a631-5122-8e0e-7afe306675c0",
"name": "myCert",
"valid": "true",
"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 |
False |
|
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 |
False |
|
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 |
False |
|
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 |
False |
|
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 |
False |
|
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
keyStore
JSON object containing JSON strings. Each string in the keyStore represents part of the credential. The name of each string represents the credential part, and the corresponding key-value stores the value of that part of the credential in base64 format. Defined values are:
-
Conforms to the base64 Encoded Data Schema No limits are placed on the lengths of the strings.
Hash mapping strings to string
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 |
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 |