Skip to content
Start here

Update Membership

client.Memberships.Update(ctx, membershipID, body) (*MembershipUpdateResponse, error)
PUT/memberships/{membership_id}

Accept or reject this account invitation.

Security

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Memberships Write
ParametersExpand Collapse
membershipID string

Membership identifier tag.

maxLength32
body MembershipUpdateParams
Status param.Field[MembershipUpdateParamsStatus]

Whether to accept or reject this account invitation.

const MembershipUpdateParamsStatusAccepted MembershipUpdateParamsStatus = "accepted"
const MembershipUpdateParamsStatusRejected MembershipUpdateParamsStatus = "rejected"
ReturnsExpand Collapse
type MembershipUpdateResponse struct{…}
ID stringoptional

Membership identifier tag.

maxLength32
Account Accountoptional
ID string

Identifier

maxLength32
minLength32
Name string

Account name

maxLength100
Type AccountType
One of the following:
const AccountTypeStandard AccountType = "standard"
const AccountTypeEnterprise AccountType = "enterprise"
CreatedOn Timeoptional

Timestamp for the creation of the account

formatdate-time
ManagedBy AccountManagedByoptional

Parent container details

ParentOrgID stringoptional

ID of the parent Organization, if one exists

maxLength32
ParentOrgName stringoptional

Name of the parent Organization, if one exists

Settings AccountSettingsoptional

Account settings

AbuseContactEmail stringoptional

Sets an abuse contact email to notify for abuse reports.

EnforceTwofactor booloptional

Indicates whether membership in this account requires that Two-Factor Authentication is enabled

APIAccessEnabled booloptional

Enterprise only. Indicates whether or not API access is enabled specifically for this user on a given account.

Permissions MembershipUpdateResponsePermissionsoptional

All access permissions for the user at the account.

Analytics PermissionGrantoptional
Read booloptional
Write booloptional
Billing PermissionGrantoptional
Read booloptional
Write booloptional
CachePurge PermissionGrantoptional
Read booloptional
Write booloptional
DNS PermissionGrantoptional
Read booloptional
Write booloptional
DNSRecords PermissionGrantoptional
Read booloptional
Write booloptional
LB PermissionGrantoptional
Read booloptional
Write booloptional
Logs PermissionGrantoptional
Read booloptional
Write booloptional
Organization PermissionGrantoptional
Read booloptional
Write booloptional
SSL PermissionGrantoptional
Read booloptional
Write booloptional
WAF PermissionGrantoptional
Read booloptional
Write booloptional
ZoneSettings PermissionGrantoptional
Read booloptional
Write booloptional
Zones PermissionGrantoptional
Read booloptional
Write booloptional
Policies []MembershipUpdateResponsePolicyoptional

Access policy for the membership

ID stringoptional

Policy identifier.

Access MembershipUpdateResponsePoliciesAccessoptional

Allow or deny operations against the resources.

One of the following:
const MembershipUpdateResponsePoliciesAccessAllow MembershipUpdateResponsePoliciesAccess = "allow"
const MembershipUpdateResponsePoliciesAccessDeny MembershipUpdateResponsePoliciesAccess = "deny"
PermissionGroups []MembershipUpdateResponsePoliciesPermissionGroupoptional

A set of permission groups that are specified to the policy.

ID string

Identifier of the permission group.

Meta MembershipUpdateResponsePoliciesPermissionGroupsMetaoptional

Attributes associated to the permission group.

Key stringoptional
Value stringoptional
Name stringoptional

Name of the permission group.

ResourceGroups []MembershipUpdateResponsePoliciesResourceGroupoptional

A list of resource groups that the policy applies to.

ID string

Identifier of the resource group.

Scope []MembershipUpdateResponsePoliciesResourceGroupsScope

The scope associated to the resource group

Key string

This is a combination of pre-defined resource name and identifier (like Account ID etc.)

Objects []MembershipUpdateResponsePoliciesResourceGroupsScopeObject

A list of scope objects for additional context.

Key string

This is a combination of pre-defined resource name and identifier (like Zone ID etc.)

Meta MembershipUpdateResponsePoliciesResourceGroupsMetaoptional

Attributes associated to the resource group.

Key stringoptional
Value stringoptional
Name stringoptional

Name of the resource group.

Roles []stringoptional

List of role names the membership has for this account.

Status MembershipUpdateResponseStatusoptional

Status of this membership.

One of the following:
const MembershipUpdateResponseStatusAccepted MembershipUpdateResponseStatus = "accepted"
const MembershipUpdateResponseStatusPending MembershipUpdateResponseStatus = "pending"
const MembershipUpdateResponseStatusRejected MembershipUpdateResponseStatus = "rejected"

Update Membership

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/memberships"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  membership, err := client.Memberships.Update(
    context.TODO(),
    "4536bcfad5faccb111b47003c79917fa",
    memberships.MembershipUpdateParams{
      Status: cloudflare.F(memberships.MembershipUpdateParamsStatusAccepted),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", membership.ID)
}
{
  "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": "4536bcfad5faccb111b47003c79917fa",
    "account": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Demo Account",
      "type": "standard",
      "created_on": "2014-03-01T12:21:02.0000Z",
      "managed_by": {
        "parent_org_id": "4536bcfad5faccb111b47003c79917fa",
        "parent_org_name": "Demo Parent Organization"
      },
      "settings": {
        "abuse_contact_email": "abuse_contact_email",
        "enforce_twofactor": true
      }
    },
    "api_access_enabled": true,
    "permissions": {
      "analytics": {
        "read": true,
        "write": false
      },
      "billing": {
        "read": true,
        "write": false
      },
      "cache_purge": {
        "read": true,
        "write": false
      },
      "dns": {
        "read": true,
        "write": false
      },
      "dns_records": {
        "read": true,
        "write": false
      },
      "lb": {
        "read": true,
        "write": false
      },
      "logs": {
        "read": true,
        "write": false
      },
      "organization": {
        "read": true,
        "write": false
      },
      "ssl": {
        "read": true,
        "write": false
      },
      "waf": {
        "read": true,
        "write": false
      },
      "zone_settings": {
        "read": true,
        "write": false
      },
      "zones": {
        "read": true,
        "write": true
      }
    },
    "policies": [
      {
        "id": "f267e341f3dd4697bd3b9f71dd96247f",
        "access": "allow",
        "permission_groups": [
          {
            "id": "c8fed203ed3043cba015a93ad1616f1f",
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "Zone Read"
          },
          {
            "id": "82e64a83756745bbbb1c9c2701bf816b",
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "Magic Network Monitoring"
          }
        ],
        "resource_groups": [
          {
            "id": "6d7f2f5f5b1d4a0e9081fdc98d432fd1",
            "scope": [
              {
                "key": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4",
                "objects": [
                  {
                    "key": "com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5"
                  }
                ]
              }
            ],
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4"
          }
        ]
      }
    ],
    "roles": [
      "Account Administrator"
    ],
    "status": "accepted"
  }
}
Returns Examples
{
  "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": "4536bcfad5faccb111b47003c79917fa",
    "account": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Demo Account",
      "type": "standard",
      "created_on": "2014-03-01T12:21:02.0000Z",
      "managed_by": {
        "parent_org_id": "4536bcfad5faccb111b47003c79917fa",
        "parent_org_name": "Demo Parent Organization"
      },
      "settings": {
        "abuse_contact_email": "abuse_contact_email",
        "enforce_twofactor": true
      }
    },
    "api_access_enabled": true,
    "permissions": {
      "analytics": {
        "read": true,
        "write": false
      },
      "billing": {
        "read": true,
        "write": false
      },
      "cache_purge": {
        "read": true,
        "write": false
      },
      "dns": {
        "read": true,
        "write": false
      },
      "dns_records": {
        "read": true,
        "write": false
      },
      "lb": {
        "read": true,
        "write": false
      },
      "logs": {
        "read": true,
        "write": false
      },
      "organization": {
        "read": true,
        "write": false
      },
      "ssl": {
        "read": true,
        "write": false
      },
      "waf": {
        "read": true,
        "write": false
      },
      "zone_settings": {
        "read": true,
        "write": false
      },
      "zones": {
        "read": true,
        "write": true
      }
    },
    "policies": [
      {
        "id": "f267e341f3dd4697bd3b9f71dd96247f",
        "access": "allow",
        "permission_groups": [
          {
            "id": "c8fed203ed3043cba015a93ad1616f1f",
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "Zone Read"
          },
          {
            "id": "82e64a83756745bbbb1c9c2701bf816b",
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "Magic Network Monitoring"
          }
        ],
        "resource_groups": [
          {
            "id": "6d7f2f5f5b1d4a0e9081fdc98d432fd1",
            "scope": [
              {
                "key": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4",
                "objects": [
                  {
                    "key": "com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5"
                  }
                ]
              }
            ],
            "meta": {
              "key": "key",
              "value": "value"
            },
            "name": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4"
          }
        ]
      }
    ],
    "roles": [
      "Account Administrator"
    ],
    "status": "accepted"
  }
}