## Update Token `client.Accounts.Tokens.Update(ctx, tokenID, params) (*Token, error)` **put** `/accounts/{account_id}/tokens/{token_id}` Update an existing token. ### Parameters - `tokenID string` Token identifier tag. - `params TokenUpdateParams` - `AccountID param.Field[string]` Path param: Account identifier tag. - `Token param.Field[Token]` Body param ### Returns - `type Token struct{…}` - `ID string` Token identifier tag. - `Condition TokenCondition` - `RequestIP TokenConditionRequestIP` Client IP restrictions. - `In []TokenConditionCIDRList` List of IPv4/IPv6 CIDR addresses. - `NotIn []TokenConditionCIDRList` List of IPv4/IPv6 CIDR addresses. - `ExpiresOn Time` The expiration time on or after which the JWT MUST NOT be accepted for processing. - `IssuedOn Time` The time on which the token was created. - `LastUsedOn Time` Last time the token was used. - `ModifiedOn Time` Last time the token was modified. - `Name string` Token name. - `NotBefore Time` The time before which the token MUST NOT be accepted for processing. - `Policies []TokenPolicy` List of access policies assigned to the token. - `ID string` Policy identifier. - `Effect TokenPolicyEffect` Allow or deny operations against the resources. - `const TokenPolicyEffectAllow TokenPolicyEffect = "allow"` - `const TokenPolicyEffectDeny TokenPolicyEffect = "deny"` - `PermissionGroups []TokenPolicyPermissionGroup` A set of permission groups that are specified to the policy. - `ID string` Identifier of the permission group. - `Meta TokenPolicyPermissionGroupsMeta` Attributes associated to the permission group. - `Key string` - `Value string` - `Name string` Name of the permission group. - `Resources TokenPolicyResourcesUnion` A list of resource names that the policy applies to. - `type TokenPolicyResourcesIAMResourcesTypeObjectString map[string, string]` Map of simple string resource permissions - `type TokenPolicyResourcesIAMResourcesTypeObjectNested map[string, map[string, string]]` Map of nested resource permissions - `Status TokenStatus` Status of the token. - `const TokenStatusActive TokenStatus = "active"` - `const TokenStatusDisabled TokenStatus = "disabled"` - `const TokenStatusExpired TokenStatus = "expired"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/accounts" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/shared" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) token, err := client.Accounts.Tokens.Update( context.TODO(), "ed17574386854bf78a67040be0a770b0", accounts.TokenUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Token: shared.TokenParam{ Name: cloudflare.F("readonly token"), Policies: cloudflare.F([]shared.TokenPolicyParam{shared.TokenPolicyParam{ Effect: cloudflare.F(shared.TokenPolicyEffectAllow), PermissionGroups: cloudflare.F([]shared.TokenPolicyPermissionGroupParam{shared.TokenPolicyPermissionGroupParam{ ID: cloudflare.F("c8fed203ed3043cba015a93ad1616f1f"), }, shared.TokenPolicyPermissionGroupParam{ ID: cloudflare.F("82e64a83756745bbbb1c9c2701bf816b"), }}), Resources: cloudflare.F[shared.TokenPolicyResourcesUnionParam](shared.TokenPolicyResourcesIAMResourcesTypeObjectStringParam(map[string]string{ "foo": "string", })), }}), }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "ed17574386854bf78a67040be0a770b0", "condition": { "request_ip": { "in": [ "123.123.123.0/24", "2606:4700::/32" ], "not_in": [ "123.123.123.100/24", "2606:4700:4700::/48" ] } }, "expires_on": "2020-01-01T00:00:00Z", "issued_on": "2018-07-01T05:20:00Z", "last_used_on": "2020-01-02T12:34:00Z", "modified_on": "2018-07-02T05:20:00Z", "name": "readonly token", "not_before": "2018-07-01T05:20:00Z", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "effect": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "name": "Magic Network Monitoring" } ], "resources": { "foo": "string" } } ], "status": "active" } } ```