Skip to navigation

Create registry

Creates a registry with a storage plan (billing_catalog.sku_code). The registry service asks Billing whether the workspace may buy that plan and refuses with 403 billing_resource_not_eligible (and a reason) when it may not. Returns 201 when the registry is active, or 202 while provisioning finishes in the background; poll the registry until observed_state is ACTIVE. Requires scope: container-registry.write.

# Example request with curl (set IBEE_API_TOKEN to a platform API token and WORKSPACE_ID to the workspace first).
curl -X POST "https://api.ibee.ai/v1/container-registry/registries?workspace_id=$WORKSPACE_ID" \
-H "Authorization: Bearer $IBEE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"registry_name": "<registry_name>", "confirm_registry_name": "<confirm_registry_name>", "billing_catalog": {"sku_code": "<sku_code>"}}'

Authentication

AuthorizationBearer

IBEE platform API token. Production tokens start with ibee_prod_key_; development tokens start with ibee_dev_key_. Use a token only with its matching gateway environment.

Query parameters

workspace_idstringRequiredformat: "^[1-9][0-9]*$">=1 character

The positive numeric workspace ID to scope this request to. Zero, negative, and non-numeric values are rejected.

Request

This endpoint expects an object.
registry_namestringRequiredformat: "^[a-z][a-z0-9-]{1,46}[a-z0-9]$"3-48 characters

Globally unique name; it cannot be changed or reused.

confirm_registry_namestringRequired3-48 characters

Must equal registry_name.

billing_catalogobjectRequired
The storage plan to bill the registry against, identified by SKU.
visibilityenumOptionalDefaults to PRIVATE
  • PRIVATE: pulls need an access token (default).
  • PUBLIC: anonymous pulls are allowed; egress is charged.
Allowed values:
acknowledge_public_egress_chargesbooleanOptionalDefaults to false

Required to be true when visibility is PUBLIC.

securityobjectOptional
Security settings of a registry.

Response

Registry created and active.
registry_idstringformat: "uuid"
Unique ID of the registry.
registry_namestring

Registry name. Images live at registry.ibee.ai/<registry_name>/<repository>:<tag>.

registry_kindenum

Always CUSTOMER for registries created through the API.

Allowed values:
organization_idstring
ID of the owning organization.
workspace_idstring
ID of the owning workspace.
visibilityenum

PRIVATE registries need a registry access token to pull. PUBLIC registries allow anonymous pulls, whose outbound bandwidth is billed to the workspace. Pushing always needs a token with push permission.

Allowed values:
securityobject
Security settings of a registry.
desired_stateenum

State requested by the caller.

  • ACTIVE
  • DELETED
Allowed values:
observed_stateenum

State the registry service has actually reached.

  • PROVISIONING: being created.
  • UPDATING: a change is being applied.
  • DELETING: being removed.
  • ACTIVE: ready.
  • ERROR: the last change failed.
  • DELETED: removed.
generationinteger
Incremented by every accepted change.
observed_generationinteger

The last generation applied; equal to generation when settled.

created_atdatetime

When the registry was created (ISO 8601).

updated_atdatetime

When the registry was last changed (ISO 8601).

deleted_atdatetime or null

When deletion was requested (ISO 8601); null while the registry exists.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
422
Unprocessable Entity Error
503
Service Unavailable Error