CreateAccount (under organizational unit)
    • Dark
      Light

    CreateAccount (under organizational unit)

    • Dark
      Light

    Article summary

    Post
    /v1/organizationalUnits/{organizationalUnitId}/accounts

    Availability

    Early Access: July 1, 2026

    Early Access is gated; contact the Backblaze Sales team for access.

    Limited Availability: July 1, 2026

    This API is available only to customers with access to the Backblaze Enterprise Web Console. For more information, contact the Backblaze Sales team.

    Create a new account under an organizational unit

    Creates an account whose parent is the specified Organizational Unit.

    Authorization is eventually consistent. Immediately after a successful create response, follow-up operations may temporarily return 403 FORBIDDEN while authorization changes propagate. Retry transient authorization failures with exponential backoff.

    Security
    HTTP
    Type bearer

    Short-lived bearer token obtained from GET /orgs/v1/authorize. Sent as Authorization - Bearer .

    Path parameters
    organizationalUnitId
    stringRequired

    The opaque identifier of the organizational unit.

    Pattern^[a-z0-9_-]{8,64}$
    Exampleou-prod-east
    Body parameters
    {
      "displayName": "tenant-prod",
      "billingAccount": "billingAccounts/456"
    }
    object
    displayName
    string Required
    Exampletenant-prod
    billingAccount
    string Required

    Billing account reference. Must belong to the same organization as the new account.

    ExamplebillingAccounts/456
    Responses
    200

    The request succeeded.

    {
      "name": "accounts/912345678901",
      "accountId": "912345678901",
      "parent": "organizationalUnits/ou-prod",
      "organization": "organizations/org-acme-prod",
      "billingAccount": "billingAccounts/456",
      "displayName": "tenant-prod",
      "state": "ACTIVE",
      "suspensionReasons": [],
      "etag": "BwXk9a2J8p0=",
      "createTime": "2026-02-03T21:10:00Z",
      "updateTime": "2026-02-03T21:10:00Z",
      "deleteTime": null,
      "purgeTime": null
    }
    object
    name
    string

    Resource name in the form accounts/.

    Exampleaccounts/912345678901
    accountId
    string

    The numeric account identifier. Valid values match 9[0-4][0-9]{10}.

    Example912345678901
    parent
    string

    Parent resource name. May be an organization or an Organizational Unit.

    Exampleorganizations/org-acme-prod
    organization
    string

    The organization the account belongs to. Always populated, even if parent is an Organizational Unit.

    Exampleorganizations/org-acme-prod
    billingAccount
    string

    Billing account reference, in the form billingAccounts/. Must belong to the same organization as the account. Cannot be changed after creation.

    ExamplebillingAccounts/456
    displayName
    string
    Exampletenant-prod
    state
    string

    Account lifecycle state. An account is SUSPENDED while one or more suspension reasons are active.

    Valid values[ "ACTIVE", "SUSPENDED", "DELETED" ]
    ExampleACTIVE
    suspensionReasons
    Array of string

    Reasons the account is suspended. Values are unique and array order is unspecified.

    Example[]
    string
    Valid values[ "BACKBLAZE_INITIATED", "EXTERNALLY_INITIATED" ]
    etag
    string
    ExampleBwXk9a2J8p0=
    createTime
    string (date-time)
    updateTime
    string (date-time)
    deleteTime
    string (date-time) | null
    purgeTime
    string (date-time) | null
    400

    The request was malformed or failed validation.

    HTTP StatusCodeDescription
    400INVALID_ARGUMENTOne or more request parameters were invalid.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.

    401

    The request was not authenticated.

    HTTP StatusCodeDescription
    401UNAUTHORIZEDMissing, expired, or invalid bearer token.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.

    403

    The caller is not authorized to perform this operation.

    HTTP StatusCodeDescription
    403FORBIDDENThe authenticated principal lacks permission for this action.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.

    409

    The request conflicted with the current state of the resource.

    HTTP StatusCodeDescription
    409CONFLICTetag mismatch, resource already exists, or precondition failed.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.

    429

    The request was rate-limited.

    HTTP StatusCodeDescription
    429TOO_MANY_REQUESTSRate limit exceeded. Use exponential backoff.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.

    500

    The server encountered an unexpected condition.

    HTTP StatusCodeDescription
    500INTERNALUnexpected server error. Include the requestId when contacting support.
    Expand All
    object
    requestId
    string

    Opaque correlation identifier matching the Request-Id response header. Include in support requests.

    Example4bf92f3577b34da6a3ce929d0e0e4736
    error
    object
    code
    integer

    Numeric error code.

    Example10
    message
    string

    Human-readable description of the error.

    Exampleetag mismatch
    details
    object

    Reserved for structured, non-sensitive diagnostic information related to the error condition.


    Was this article helpful?