Grant an API key access to a workspace
client.APIKeys.Access.Add(ctx, id, body) (*APIKey, error)
POST/v1/account/api_keys/{id}/workspaces
Grants this API key access to the specified workspace. Idempotent — adding an already-associated workspace is a no-op. Returns the updated API key with refreshed workspace preview and total.
Grant an API key access to a workspace
package main
import (
"context"
"fmt"
"github.com/cadenya/cadenya-go"
"github.com/cadenya/cadenya-go/option"
)
func main() {
client := cadenya.NewClient(
option.WithAPIKey("My API Key"),
)
apiKey, err := client.APIKeys.Access.Add(
context.TODO(),
"id",
cadenya.APIKeyAccessAddParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", apiKey.Metadata)
}
{
"metadata": {
"id": "id",
"accountId": "accountId",
"name": "name",
"profileId": "profileId",
"externalId": "externalId",
"labels": {
"foo": "string"
}
},
"spec": {
"token": "token",
"description": "description",
"permissions": [
"string"
],
"system": true
},
"info": {
"createdBy": {
"metadata": {
"id": "id",
"accountId": "accountId",
"name": "name",
"profileId": "profileId",
"externalId": "externalId",
"labels": {
"foo": "string"
}
},
"spec": {
"type": "PROFILE_TYPE_UNSPECIFIED",
"email": "email",
"name": "name"
}
},
"workspacesPreview": [
{
"id": "id",
"name": "name"
}
],
"workspacesTotal": 0
}
}Returns Examples
{
"metadata": {
"id": "id",
"accountId": "accountId",
"name": "name",
"profileId": "profileId",
"externalId": "externalId",
"labels": {
"foo": "string"
}
},
"spec": {
"token": "token",
"description": "description",
"permissions": [
"string"
],
"system": true
},
"info": {
"createdBy": {
"metadata": {
"id": "id",
"accountId": "accountId",
"name": "name",
"profileId": "profileId",
"externalId": "externalId",
"labels": {
"foo": "string"
}
},
"spec": {
"type": "PROFILE_TYPE_UNSPECIFIED",
"email": "email",
"name": "name"
}
},
"workspacesPreview": [
{
"id": "id",
"name": "name"
}
],
"workspacesTotal": 0
}
}