# Add User to Team PUT https://api.hellosign.com/v3/team/add_member Content-Type: application/json Invites a user (specified using the `email_address` parameter) to your Team. If the user does not currently have a Dropbox Sign Account, a new one will be created for them. If a user is already a part of another Team, a `team_invite_failed` error will be returned. Reference: https://developer.hellosign.com/api/team/add-member ## OpenAPI Specification ```yaml openapi: 3.1.1 info: title: Add User to Team version: endpoint_team.addMember paths: /team/add_member: put: operationId: add-member summary: Add User to Team description: >- Invites a user (specified using the `email_address` parameter) to your Team. If the user does not currently have a Dropbox Sign Account, a new one will be created for them. If a user is already a part of another Team, a `team_invite_failed` error will be returned. tags: - - subpackage_team parameters: - name: team_id in: query description: The id of the team. required: false schema: type: string - name: Authorization in: header description: Basic authentication of the form `Basic `. required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/TeamGetResponse' '400': description: failed_operation content: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/TeamAddMemberRequest' components: schemas: TeamAddMemberRequestRole: type: string enum: - value: Member - value: Developer - value: Team Manager - value: Admin TeamAddMemberRequest: type: object properties: account_id: type: string description: >- `account_id` or `email_address` is required. If both are provided, the account id prevails. Account id of the user to invite to your Team. email_address: type: string format: email description: >- `account_id` or `email_address` is required, If both are provided, the account id prevails. Email address of the user to invite to your Team. role: $ref: '#/components/schemas/TeamAddMemberRequestRole' description: |- A role member will take in a new Team. **NOTE:** This parameter is used only if `team_id` is provided. AccountResponseQuotas: type: object properties: api_signature_requests_left: type: - integer - 'null' description: API signature requests remaining. documents_left: type: - integer - 'null' description: Signature requests remaining. templates_total: type: - integer - 'null' description: Total API templates allowed. templates_left: type: - integer - 'null' description: API templates remaining. sms_verifications_left: type: - integer - 'null' description: SMS verifications remaining. num_fax_pages_left: type: - integer - 'null' description: Number of fax pages left AccountResponseUsage: type: object properties: fax_pages_sent: type: - integer - 'null' description: Number of fax pages sent AccountResponse: type: object properties: account_id: type: string description: The ID of the Account email_address: type: string description: The email address associated with the Account. is_locked: type: boolean description: >- Returns `true` if the user has been locked out of their account by a team admin. is_paid_hs: type: boolean description: Returns `true` if the user has a paid Dropbox Sign account. is_paid_hf: type: boolean description: Returns `true` if the user has a paid HelloFax account. quotas: $ref: '#/components/schemas/AccountResponseQuotas' callback_url: type: - string - 'null' description: The URL that Dropbox Sign events will `POST` to. role_code: type: - string - 'null' description: The membership role for the team. team_id: type: - string - 'null' description: The id of the team account belongs to. locale: type: - string - 'null' description: >- The locale used in this Account. Check out the list of [supported locales](/api/reference/constants/#supported-locales) to learn more about the possible values. usage: $ref: '#/components/schemas/AccountResponseUsage' TeamResponse: type: object properties: name: type: string description: The name of your Team accounts: type: array items: $ref: '#/components/schemas/AccountResponse' invited_accounts: type: array items: $ref: '#/components/schemas/AccountResponse' description: >- A list of all Accounts that have an outstanding invitation to join your Team. Note that this response is a subset of the response parameters found in `GET /account`. invited_emails: type: array items: type: string description: >- A list of email addresses that have an outstanding invitation to join your Team and do not yet have a Dropbox Sign account. WarningResponse: type: object properties: warning_msg: type: string description: Warning message warning_name: type: string description: Warning name required: - warning_msg - warning_name TeamGetResponse: type: object properties: team: $ref: '#/components/schemas/TeamResponse' warnings: type: array items: $ref: '#/components/schemas/WarningResponse' description: A list of warnings. required: - team ``` ## SDK Code Examples ```php PHP setUsername("YOUR_API_KEY"); // $config->setAccessToken("YOUR_ACCESS_TOKEN"); $team_add_member_request = (new Dropbox\Sign\Model\TeamAddMemberRequest()) ->setEmailAddress("george@example.com"); try { $response = (new Dropbox\Sign\Api\TeamApi(config: $config))->teamAddMember( team_add_member_request: $team_add_member_request, team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling TeamApi#teamAddMember: {$e->getMessage()}"; } ``` ```csharp C# using System; using System.Collections.Generic; using System.IO; using System.Text.Json; using Dropbox.Sign.Api; using Dropbox.Sign.Client; using Dropbox.Sign.Model; namespace Dropbox.SignSandbox; public class TeamAddMemberExample { public static void Run() { var config = new Configuration(); config.Username = "YOUR_API_KEY"; // config.AccessToken = "YOUR_ACCESS_TOKEN"; var teamAddMemberRequest = new TeamAddMemberRequest( emailAddress: "george@example.com" ); try { var response = new TeamApi(config).TeamAddMember( teamAddMemberRequest: teamAddMemberRequest, teamId: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling TeamApi#TeamAddMember: " + e.Message); Console.WriteLine("Status Code: " + e.ErrorCode); Console.WriteLine(e.StackTrace); } } } ``` ```typescript TypeScript import * as fs from 'fs'; import api from "@dropbox/sign" import models from "@dropbox/sign" const apiCaller = new api.TeamApi(); apiCaller.username = "YOUR_API_KEY"; // apiCaller.accessToken = "YOUR_ACCESS_TOKEN"; const teamAddMemberRequest: models.TeamAddMemberRequest = { emailAddress: "george@example.com", }; apiCaller.teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", // teamId ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling TeamApi#teamAddMember:"); console.log(error.body); }); ``` ```java Java package com.dropbox.sign_sandbox; import com.dropbox.sign.ApiException; import com.dropbox.sign.Configuration; import com.dropbox.sign.api.*; import com.dropbox.sign.auth.*; import com.dropbox.sign.JSON; import com.dropbox.sign.model.*; import java.io.File; import java.math.BigDecimal; import java.time.LocalDate; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; public class TeamAddMemberExample { public static void main(String[] args) { var config = Configuration.getDefaultApiClient(); ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY"); // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN"); var teamAddMemberRequest = new TeamAddMemberRequest(); teamAddMemberRequest.emailAddress("george@example.com"); try { var response = new TeamApi(config).teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" // teamId ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling TeamApi#teamAddMember"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` ```ruby Ruby require "json" require "dropbox-sign" Dropbox::Sign.configure do |config| config.username = "YOUR_API_KEY" # config.access_token = "YOUR_ACCESS_TOKEN" end team_add_member_request = Dropbox::Sign::TeamAddMemberRequest.new team_add_member_request.email_address = "george@example.com" begin response = Dropbox::Sign::TeamApi.new.team_add_member( team_add_member_request, { team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", }, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling TeamApi#team_add_member: #{e}" end ``` ```python Python import json from datetime import date, datetime from pprint import pprint from dropbox_sign import ApiClient, ApiException, Configuration, api, models configuration = Configuration( username="YOUR_API_KEY", # access_token="YOUR_ACCESS_TOKEN", ) with ApiClient(configuration) as api_client: team_add_member_request = models.TeamAddMemberRequest( email_address="george@example.com", ) try: response = api.TeamApi(api_client).team_add_member( team_add_member_request=team_add_member_request, team_id="4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ) pprint(response) except ApiException as e: print("Exception when calling TeamApi#team_add_member: %s\n" % e) ``` ```go Team Add Member package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" req, _ := http.NewRequest("PUT", url, nil) req.Header.Add("Authorization", "Basic :") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```swift Team Add Member import Foundation let headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```php PHP setUsername("YOUR_API_KEY"); // $config->setAccessToken("YOUR_ACCESS_TOKEN"); $team_add_member_request = (new Dropbox\Sign\Model\TeamAddMemberRequest()) ->setEmailAddress("george@example.com"); try { $response = (new Dropbox\Sign\Api\TeamApi(config: $config))->teamAddMember( team_add_member_request: $team_add_member_request, team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling TeamApi#teamAddMember: {$e->getMessage()}"; } ``` ```csharp C# using System; using System.Collections.Generic; using System.IO; using System.Text.Json; using Dropbox.Sign.Api; using Dropbox.Sign.Client; using Dropbox.Sign.Model; namespace Dropbox.SignSandbox; public class TeamAddMemberExample { public static void Run() { var config = new Configuration(); config.Username = "YOUR_API_KEY"; // config.AccessToken = "YOUR_ACCESS_TOKEN"; var teamAddMemberRequest = new TeamAddMemberRequest( emailAddress: "george@example.com" ); try { var response = new TeamApi(config).TeamAddMember( teamAddMemberRequest: teamAddMemberRequest, teamId: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling TeamApi#TeamAddMember: " + e.Message); Console.WriteLine("Status Code: " + e.ErrorCode); Console.WriteLine(e.StackTrace); } } } ``` ```typescript TypeScript import * as fs from 'fs'; import api from "@dropbox/sign" import models from "@dropbox/sign" const apiCaller = new api.TeamApi(); apiCaller.username = "YOUR_API_KEY"; // apiCaller.accessToken = "YOUR_ACCESS_TOKEN"; const teamAddMemberRequest: models.TeamAddMemberRequest = { emailAddress: "george@example.com", }; apiCaller.teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", // teamId ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling TeamApi#teamAddMember:"); console.log(error.body); }); ``` ```java Java package com.dropbox.sign_sandbox; import com.dropbox.sign.ApiException; import com.dropbox.sign.Configuration; import com.dropbox.sign.api.*; import com.dropbox.sign.auth.*; import com.dropbox.sign.JSON; import com.dropbox.sign.model.*; import java.io.File; import java.math.BigDecimal; import java.time.LocalDate; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; public class TeamAddMemberExample { public static void main(String[] args) { var config = Configuration.getDefaultApiClient(); ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY"); // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN"); var teamAddMemberRequest = new TeamAddMemberRequest(); teamAddMemberRequest.emailAddress("george@example.com"); try { var response = new TeamApi(config).teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" // teamId ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling TeamApi#teamAddMember"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` ```ruby Ruby require "json" require "dropbox-sign" Dropbox::Sign.configure do |config| config.username = "YOUR_API_KEY" # config.access_token = "YOUR_ACCESS_TOKEN" end team_add_member_request = Dropbox::Sign::TeamAddMemberRequest.new team_add_member_request.email_address = "george@example.com" begin response = Dropbox::Sign::TeamApi.new.team_add_member( team_add_member_request, { team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", }, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling TeamApi#team_add_member: #{e}" end ``` ```python Python import json from datetime import date, datetime from pprint import pprint from dropbox_sign import ApiClient, ApiException, Configuration, api, models configuration = Configuration( username="YOUR_API_KEY", # access_token="YOUR_ACCESS_TOKEN", ) with ApiClient(configuration) as api_client: team_add_member_request = models.TeamAddMemberRequest( email_address="george@example.com", ) try: response = api.TeamApi(api_client).team_add_member( team_add_member_request=team_add_member_request, team_id="4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ) pprint(response) except ApiException as e: print("Exception when calling TeamApi#team_add_member: %s\n" % e) ``` ```go Email Address Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" payload := strings.NewReader("{\n \"email_address\": \"george@example.com\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "Basic :") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```swift Email Address Example import Foundation let headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let parameters = ["email_address": "george@example.com"] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```php PHP setUsername("YOUR_API_KEY"); // $config->setAccessToken("YOUR_ACCESS_TOKEN"); $team_add_member_request = (new Dropbox\Sign\Model\TeamAddMemberRequest()) ->setEmailAddress("george@example.com"); try { $response = (new Dropbox\Sign\Api\TeamApi(config: $config))->teamAddMember( team_add_member_request: $team_add_member_request, team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling TeamApi#teamAddMember: {$e->getMessage()}"; } ``` ```csharp C# using System; using System.Collections.Generic; using System.IO; using System.Text.Json; using Dropbox.Sign.Api; using Dropbox.Sign.Client; using Dropbox.Sign.Model; namespace Dropbox.SignSandbox; public class TeamAddMemberExample { public static void Run() { var config = new Configuration(); config.Username = "YOUR_API_KEY"; // config.AccessToken = "YOUR_ACCESS_TOKEN"; var teamAddMemberRequest = new TeamAddMemberRequest( emailAddress: "george@example.com" ); try { var response = new TeamApi(config).TeamAddMember( teamAddMemberRequest: teamAddMemberRequest, teamId: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling TeamApi#TeamAddMember: " + e.Message); Console.WriteLine("Status Code: " + e.ErrorCode); Console.WriteLine(e.StackTrace); } } } ``` ```typescript TypeScript import * as fs from 'fs'; import api from "@dropbox/sign" import models from "@dropbox/sign" const apiCaller = new api.TeamApi(); apiCaller.username = "YOUR_API_KEY"; // apiCaller.accessToken = "YOUR_ACCESS_TOKEN"; const teamAddMemberRequest: models.TeamAddMemberRequest = { emailAddress: "george@example.com", }; apiCaller.teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", // teamId ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling TeamApi#teamAddMember:"); console.log(error.body); }); ``` ```java Java package com.dropbox.sign_sandbox; import com.dropbox.sign.ApiException; import com.dropbox.sign.Configuration; import com.dropbox.sign.api.*; import com.dropbox.sign.auth.*; import com.dropbox.sign.JSON; import com.dropbox.sign.model.*; import java.io.File; import java.math.BigDecimal; import java.time.LocalDate; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; public class TeamAddMemberExample { public static void main(String[] args) { var config = Configuration.getDefaultApiClient(); ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY"); // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN"); var teamAddMemberRequest = new TeamAddMemberRequest(); teamAddMemberRequest.emailAddress("george@example.com"); try { var response = new TeamApi(config).teamAddMember( teamAddMemberRequest, "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" // teamId ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling TeamApi#teamAddMember"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` ```ruby Ruby require "json" require "dropbox-sign" Dropbox::Sign.configure do |config| config.username = "YOUR_API_KEY" # config.access_token = "YOUR_ACCESS_TOKEN" end team_add_member_request = Dropbox::Sign::TeamAddMemberRequest.new team_add_member_request.email_address = "george@example.com" begin response = Dropbox::Sign::TeamApi.new.team_add_member( team_add_member_request, { team_id: "4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", }, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling TeamApi#team_add_member: #{e}" end ``` ```python Python import json from datetime import date, datetime from pprint import pprint from dropbox_sign import ApiClient, ApiException, Configuration, api, models configuration = Configuration( username="YOUR_API_KEY", # access_token="YOUR_ACCESS_TOKEN", ) with ApiClient(configuration) as api_client: team_add_member_request = models.TeamAddMemberRequest( email_address="george@example.com", ) try: response = api.TeamApi(api_client).team_add_member( team_add_member_request=team_add_member_request, team_id="4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c", ) pprint(response) except ApiException as e: print("Exception when calling TeamApi#team_add_member: %s\n" % e) ``` ```go Account ID Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c" payload := strings.NewReader("{\n \"account_id\": \"f57db65d3f933b5316d398057a36176831451a35\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "Basic :") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```swift Account ID Example import Foundation let headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let parameters = ["account_id": "f57db65d3f933b5316d398057a36176831451a35"] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/team/add_member?team_id=4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```