Portainer · Schema
portainer.Registry
Container ManagementContainersDockerKubernetesKubernetes ManagementEnterprise IdentityGitOps
Properties
| Name | Type | Description |
|---|---|---|
| AccessToken | string | Stores temporary access token |
| AccessTokenExpiry | integer | |
| Authentication | boolean | Is authentication against this registry enabled |
| AuthorizedTeams | array | Deprecated in DBVersion == 18 |
| AuthorizedUsers | array | Deprecated in DBVersion == 18 |
| BaseURL | string | Base URL, introduced for ProGet registry |
| Ecr | object | |
| Github | object | |
| Gitlab | object | |
| Id | integer | Registry Identifier |
| ManagementConfiguration | object | |
| Name | string | Registry Name |
| Password | string | Password or SecretAccessKey used to authenticate against this registry |
| Quay | object | |
| RegistryAccesses | object | |
| TeamAccessPolicies | object | Deprecated in DBVersion == 31 |
| Type | object | Registry Type (1 - Quay, 2 - Azure, 3 - Custom, 4 - Gitlab, 5 - ProGet, 6 - DockerHub, 7 - ECR) |
| URL | string | URL or IP address of the Docker registry |
| UserAccessPolicies | object | Deprecated fields Deprecated in DBVersion == 31 |
| Username | string | Username or AccessKeyID used to authenticate against this registry |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/portainer/main/json-schema/portainer-portainer-registry-schema.json",
"title": "portainer.Registry",
"x-generated": "2026-10-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/portainer-endpoints-api-openapi.yml#/components/schemas/portainer.Registry",
"properties": {
"AccessToken": {
"description": "Stores temporary access token",
"type": "string"
},
"AccessTokenExpiry": {
"type": "integer"
},
"Authentication": {
"description": "Is authentication against this registry enabled",
"type": "boolean"
},
"AuthorizedTeams": {
"description": "Deprecated in DBVersion == 18",
"items": {
"type": "integer"
},
"type": "array"
},
"AuthorizedUsers": {
"description": "Deprecated in DBVersion == 18",
"items": {
"type": "integer"
},
"type": "array"
},
"BaseURL": {
"description": "Base URL, introduced for ProGet registry",
"type": "string"
},
"Ecr": {
"$ref": "#/$defs/portainer.EcrData"
},
"Github": {
"$ref": "#/$defs/portainer.GithubRegistryData"
},
"Gitlab": {
"$ref": "#/$defs/portainer.GitlabRegistryData"
},
"Id": {
"description": "Registry Identifier",
"type": "integer"
},
"ManagementConfiguration": {
"$ref": "#/$defs/portainer.RegistryManagementConfiguration"
},
"Name": {
"description": "Registry Name",
"type": "string"
},
"Password": {
"description": "Password or SecretAccessKey used to authenticate against this registry",
"type": "string"
},
"Quay": {
"$ref": "#/$defs/portainer.QuayRegistryData"
},
"RegistryAccesses": {
"$ref": "#/$defs/portainer.RegistryAccesses"
},
"TeamAccessPolicies": {
"allOf": [
{
"$ref": "#/$defs/portainer.TeamAccessPolicies"
}
],
"description": "Deprecated in DBVersion == 31"
},
"Type": {
"allOf": [
{
"$ref": "#/$defs/portainer.RegistryType"
}
],
"description": "Registry Type (1 - Quay, 2 - Azure, 3 - Custom, 4 - Gitlab, 5 - ProGet, 6 - DockerHub, 7 - ECR)",
"enum": [
1,
2,
3,
4,
5,
6,
7
]
},
"URL": {
"description": "URL or IP address of the Docker registry",
"type": "string"
},
"UserAccessPolicies": {
"allOf": [
{
"$ref": "#/$defs/portainer.UserAccessPolicies"
}
],
"description": "Deprecated fields\nDeprecated in DBVersion == 31"
},
"Username": {
"description": "Username or AccessKeyID used to authenticate against this registry",
"type": "string"
}
},
"type": "object",
"$defs": {
"portainer.AccessPolicy": {
"properties": {
"Namespaces": {
"description": "Namespaces is a list of namespaces that this access policy applies to. Only used for namespaced level roles",
"items": {
"type": "string"
},
"type": "array"
},
"RoleId": {
"description": "Role identifier. Reference the role that will be associated to this access policy",
"type": "integer"
}
},
"type": "object"
},
"portainer.EcrData": {
"properties": {
"Region": {
"type": "string"
}
},
"type": "object"
},
"portainer.GithubRegistryData": {
"properties": {
"OrganisationName": {
"type": "string"
},
"UseOrganisation": {
"type": "boolean"
}
},
"type": "object"
},
"portainer.GitlabRegistryData": {
"properties": {
"InstanceURL": {
"type": "string"
},
"ProjectId": {
"type": "integer"
},
"ProjectPath": {
"type": "string"
}
},
"type": "object"
},
"portainer.QuayRegistryData": {
"properties": {
"OrganisationName": {
"type": "string"
},
"UseOrganisation": {
"type": "boolean"
}
},
"type": "object"
},
"portainer.RegistryAccessPolicies": {
"properties": {
"Namespaces": {
"description": "Kubernetes specific fields (with kubernetes, namespaces have access to a registry, if users/teams have access to the same namespace, they have access to the registry)",
"items": {
"type": "string"
},
"type": "array"
},
"TeamAccessPolicies": {
"$ref": "#/$defs/portainer.TeamAccessPolicies"
},
"UserAccessPolicies": {
"allOf": [
{
"$ref": "#/$defs/portainer.UserAccessPolicies"
}
],
"description": "Docker specific fields (with docker, users/teams have access to a registry)"
}
},
"type": "object"
},
"portainer.RegistryAccesses": {
"additionalProperties": {
"$ref": "#/$defs/portainer.RegistryAccessPolicies"
},
"type": "object"
},
"portainer.RegistryManagementConfiguration": {
"properties": {
"AccessToken": {
"type": "string"
},
"AccessTokenExpiry": {
"type": "integer"
},
"Authentication": {
"type": "boolean"
},
"Ecr": {
"$ref": "#/$defs/portainer.EcrData"
},
"Password": {
"type": "string"
},
"TLSConfig": {
"$ref": "#/$defs/portainer.TLSConfiguration"
},
"Type": {
"$ref": "#/$defs/portainer.RegistryType"
},
"Username": {
"type": "string"
}
},
"type": "object"
},
"portainer.RegistryType": {
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8
],
"type": "integer",
"x-enum-varnames": [
"_",
"QuayRegistry",
"AzureRegistry",
"CustomRegistry",
"GitlabRegistry",
"ProGetRegistry",
"DockerHubRegistry",
"EcrRegistry",
"GithubRegistry"
]
},
"portainer.TLSConfiguration": {
"properties": {
"TLS": {
"description": "Use TLS",
"type": "boolean"
},
"TLSCACert": {
"description": "Path to the TLS CA certificate file",
"type": "string"
},
"TLSCert": {
"description": "Path to the TLS client certificate file",
"type": "string"
},
"TLSKey": {
"description": "Path to the TLS client key file",
"type": "string"
},
"TLSSkipVerify": {
"description": "Skip the verification of the server TLS certificate",
"type": "boolean"
}
},
"type": "object"
},
"portainer.TeamAccessPolicies": {
"additionalProperties": {
"$ref": "#/$defs/portainer.AccessPolicy"
},
"type": "object"
},
"portainer.UserAccessPolicies": {
"additionalProperties": {
"$ref": "#/$defs/portainer.AccessPolicy"
},
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/portainer-portainer-registry"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.