Create a token to push (or only pull) the team's own images in Pyo registry, as <host>:5443/<team>/<project>/<service>:<tag>. These are slugs, and <host> is the installation's tailnet name. A push needs that project and service to exist. It works over HTTPS from a device on the installation's tailnet. Team owners and admins. The token comes back only once, with the username, address and team path to log in and push with.
API key access: full.
apiKeyAuthorizationBearer <pyo_…>An API key from the dashboard's API keys page: Authorization: Bearer pyo_…. Keys can expire, and an expired one gets a 401.
application/jsonCreate a token to push (or only pull) the team's own images in Pyo registry, as <host>:5443/<team>/<project>/<service>:<tag>. These are slugs, and <host> is the installation's tailnet name. A push needs that project and service to exist. It works over HTTPS from a device on the installation's tailnet. Team owners and admins. The token comes back only once, with the username, address and team path to log in and push with.
API key access: full.
op*"createRegistryToken""createRegistryToken"id*stringA new id you choose: rtk_ then 4 to 40 lowercase letters, digits, dashes or underscores.
teamId*stringname*stringscope?|"push" (push and pull, the default) or "pull".
expiresInDays?|30 or 90. Never expires when omitted.
int320 <= valueDone. Always ok: true, and some operations add more, such as a new API key or a join command. A warning comes with a change that went through but won't fully take effect yet, such as more replicas than the servers have room for.
application/jsoncurl -X POST 'https://your-pyo.example.com/api/v1/ops' \
-H 'Content-Type: application/json' \
-d '{
"id": "rtk_8kq2x7ad",
"name": "GitHub packages",
"op": "createRegistryToken",
"teamId": "team_8kq2x7ad"
}'{}