Skip to main content

Create a new project under an organization

Contributors

POST /organizations/{organization_id}/projects

Creates a new project under the specified organization.

Parameters

Name Type In Required Description

organization_id

string

path

True

ID of the organization.

  • example: 666a3f38-d4fa-5b62-a391-a69029758d32

Request Body

Indicates the desired values for the project to be created under an organization.

Name Type Required Description

description

string

False

JSON string containing the description of the resource. Defined values are:

  • Minimum length: 1

  • Maximum length: 254

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

isSystem

string

False

Specifies if an object is system generated. Defined values are:

  • "true"

metadata

type_bxp_metadata

False

Metadata associated with the resource.

name

string

True

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

  • Minimum length: 1

  • Maximum length: 300

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

ownerOrganizationId

string

False

JSON string containing the ID of the organization.

parentId

string

False

JSON string containing the ID of the hierarchy.

rawId

string

False

JSON string containing the physical ID of the resource. It is the ID as defined by the system (a UUID, a string, or any other defined ID). For example, the UUID of an ONTAP cluster or the UUID of an application in Astra Control.

  • maxLength: 400

  • minLength: 1

resourceClass

string

True

JSON string containing the resource class. This field is for Accounts (tenancy) compatibility support.

resourceType

string

True

JSON string containing the resource type. This should be one of the allowed resource types, which should be in the resource types collection. These resource types are defined by the service applications and the BlueXP IAM system.

tags

array[tags]

False

JSON array of tags (name/value pairs) representing metadata for the resource.

type

string

True

Media type of the resource. Defined values are:

  • "application/vnd.netapp.bxp.resource"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

Example request
{
  "name": "netapp-project-1",
  "resourceType": "project",
  "tags": [
    {
      "internal:bxp:parentId": "777a3f38-d4fa-5b62-a391-a69029758d32"
    },
    {
      "internal:bxp:ancestors": "48edfd48-3fed-4ffd-9aff-303c7008df7f, 999a3f38-d4fa-5b62-a391-a69029758d32"
    }
  ],
  "type": "application/vnd.netapp.bxp.resource",
  "version": "1.0"
}

Response

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

description

string

False

JSON string containing the description of the resource. Defined values are: * Minimum length: 1 * Maximum length: 254 * This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks.

id

string

True

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

isSystem

string

False

Specifies if an object is system generated. Defined values are:

  • "true"

legacyId

string

False

Unique identifier as understood by the previous version of this service.

links

array[type_bxp_link]

False

metadata

type_bxp_metadata

True

Metadata associated with the resource.

name

string

True

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

  • Minimum length: 1

  • Maximum length: 300

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

ownerOrganizationId

string

False

JSON string containing the ID of the organization.

parentId

string

False

JSON string containing the ID of the hierarchy.

rawId

string

False

JSON string containing the physical ID of the resource. It is the ID as defined by the system (a UUID, a string, or any other defined ID). For example, the UUID of an ONTAP cluster or the UUID of an application in Astra Control.

  • maxLength: 400

  • minLength: 1

resourceClass

string

True

JSON string containing the resource class. This field is for Accounts (tenancy) compatibility support.

resourceType

string

True

JSON string containing the resource type. This should be one of the allowed resource types, which should be in the resource types collection. These resource types are defined by the service applications and the BlueXP IAM system.

state

string

False

Represents the state of the resource. State of the resource can be reconciling, which indicates the resource is currently undergoing a reconciliation process or available, which indicates the resources is currently available. Defined values are:

  • "reconciling"

  • "available"

tags

array[tags]

False

JSON array of tags (name/value pairs) representing metadata for the resource.

type

string

True

Media type of the resource. Defined values are:

  • "application/vnd.netapp.bxp.resource"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

Example response
{
  "id": "666a3f38-d4fa-5b62-a391-a69029758d32",
  "metadata": {
    "createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269",
    "creationTimestamp": "2022-10-06T20:58:16.305662Z",
    "labels": [],
    "modificationTimestamp": "2022-10-06T20:58:16.305662Z",
    "modifiedBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
  },
  "name": "netapp-project-1",
  "resourceType": "project",
  "tags": [
    {
      "internal:bxp:parentId": "777a3f38-d4fa-5b62-a391-a69029758d32"
    },
    {
      "internal:bxp:ancestors": "666a3f38-d4fa-5b62-a391-a69029758d32,777a3f38-d4fa-5b62-a391-a69029758d32,48edfd48-3fed-4ffd-9aff-303c7008df7f,999a3f38-d4fa-5b62-a391-a69029758d32"
    }
  ],
  "type": "application/vnd.netapp.bxp.resource",
  "version": "1.0"
}

Error

Status: 400, Bad request
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

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

Error

Status: 401, Unauthorized
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

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

Error

Status: 403, Forbidden
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

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

Error

Status: 404, Not found
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

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

Error

Status: 409, Conflict
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

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

Definitions

See Definitions

type_bxp_label

Name/value pair.

Name Type Required Description

name

string

True

value

string

True

type_bxp_metadata

Metadata associated with the resource.

Name Type Required Description

createdBy

string

False

UUID of the user who created the resource.

creationTimestamp

string

False

Resource creation date.

labels

array[type_bxp_label]

False

Array of name/value pairs representing additional information for the resource.

modificationTimestamp

string

False

Resource modification date.

modifiedBy

string

False

UUID of the user who modified the resource.

tags Hash mapping strings to string

accept-post

Provides details about which media types are accepted when creating a resource.

accept-put

Indicates details about what media types are accepted when updating a resource.

hints

Name Type Required Description

accept-post

accept-post

False

Provides details about which media types are accepted when creating a resource.

accept-put

accept-put

False

Indicates details about what media types are accepted when updating a resource.

allow

array[string]

False

An array of methods that can be used to interact with the link target.

Defined values for collections:

"POST" - Indicates if new resources can be created in the collection. Defined values for resources:

"PUT" - Indicates if the resource can be modified "DELETE" - Indicates if the resource can be deleted

permissions

array[string]

False

List of the permissions required to use the link.

status

string

False

Indicates if the target of the link is deprecated.

Defined values are:

"deprecated"

targetSchema

Link to a JSON schema that can be used to validate the target of the link (response body).

The preferred format is a $ref link to an external schema.

This field is optional and should only be included when there is a known schema for the target of the href.

Link relationship

Name Type Required Description

hints

hints

False

href

string

True

String describing a relative URI.

rel

string

True

The type of relationship for the link. Values are defined in the IANA Link Relationships registry, or an extension relationship type as specified in section 2.1.2 of RFC 8288.

targetSchema

targetSchema

False

Link to a JSON schema that can be used to validate the target of the link (response body).

The preferred format is a $ref link to an external schema.

This field is optional and should only be included when there is a known schema for the target of the href.

title

string

False

Label of a link such that it can be used as a human-readable identifier (e.g., a menu entry).

Minimum length: 0 Maximum length: 1023

type

string

False

The media type of the target of the href.

This field is optional and should be included when there is a known media type for the target of the href.

invalidParams

Name Type Required Description

name

string

True

Name of the invalid parameter.

reason

string

True

Reason why the parameter is invalid.