Skip to main content
POST
/
networks
/
advertisers
/
{advertiserId}
/
users
Create Advertiser User
curl --request POST \
  --url https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users \
  --header 'Content-Type: application/json' \
  --header 'X-Eflow-Api-Key: <api-key>' \
  --data '
{
  "first_name": "Bob",
  "last_name": "Smith",
  "email": "adv.user.doctest.new@example.com",
  "title": "Manager",
  "work_phone": "1234567788",
  "cell_phone": "",
  "instant_messaging_id": 0,
  "instant_messaging_identifier": "",
  "language_id": 1,
  "timezone_id": 90,
  "currency_id": "USD",
  "account_status": "active",
  "send_activation_email": true,
  "set_password_manually": false,
  "initial_password": ""
}
'
import requests

url = "https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users"

payload = {
    "first_name": "Bob",
    "last_name": "Smith",
    "email": "adv.user.doctest.new@example.com",
    "title": "Manager",
    "work_phone": "1234567788",
    "cell_phone": "",
    "instant_messaging_id": 0,
    "instant_messaging_identifier": "",
    "language_id": 1,
    "timezone_id": 90,
    "currency_id": "USD",
    "account_status": "active",
    "send_activation_email": True,
    "set_password_manually": False,
    "initial_password": ""
}
headers = {
    "X-Eflow-Api-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    first_name: 'Bob',
    last_name: 'Smith',
    email: 'adv.user.doctest.new@example.com',
    title: 'Manager',
    work_phone: '1234567788',
    cell_phone: '',
    instant_messaging_id: 0,
    instant_messaging_identifier: '',
    language_id: 1,
    timezone_id: 90,
    currency_id: 'USD',
    account_status: 'active',
    send_activation_email: true,
    set_password_manually: false,
    initial_password: ''
  })
};

fetch('https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'first_name' => 'Bob',
    'last_name' => 'Smith',
    'email' => 'adv.user.doctest.new@example.com',
    'title' => 'Manager',
    'work_phone' => '1234567788',
    'cell_phone' => '',
    'instant_messaging_id' => 0,
    'instant_messaging_identifier' => '',
    'language_id' => 1,
    'timezone_id' => 90,
    'currency_id' => 'USD',
    'account_status' => 'active',
    'send_activation_email' => true,
    'set_password_manually' => false,
    'initial_password' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "X-Eflow-Api-Key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users"

	payload := strings.NewReader("{\n  \"first_name\": \"Bob\",\n  \"last_name\": \"Smith\",\n  \"email\": \"adv.user.doctest.new@example.com\",\n  \"title\": \"Manager\",\n  \"work_phone\": \"1234567788\",\n  \"cell_phone\": \"\",\n  \"instant_messaging_id\": 0,\n  \"instant_messaging_identifier\": \"\",\n  \"language_id\": 1,\n  \"timezone_id\": 90,\n  \"currency_id\": \"USD\",\n  \"account_status\": \"active\",\n  \"send_activation_email\": true,\n  \"set_password_manually\": false,\n  \"initial_password\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Eflow-Api-Key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users")
  .header("X-Eflow-Api-Key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"first_name\": \"Bob\",\n  \"last_name\": \"Smith\",\n  \"email\": \"adv.user.doctest.new@example.com\",\n  \"title\": \"Manager\",\n  \"work_phone\": \"1234567788\",\n  \"cell_phone\": \"\",\n  \"instant_messaging_id\": 0,\n  \"instant_messaging_identifier\": \"\",\n  \"language_id\": 1,\n  \"timezone_id\": 90,\n  \"currency_id\": \"USD\",\n  \"account_status\": \"active\",\n  \"send_activation_email\": true,\n  \"set_password_manually\": false,\n  \"initial_password\": \"\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.eflow.team/v1/networks/advertisers/{advertiserId}/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"first_name\": \"Bob\",\n  \"last_name\": \"Smith\",\n  \"email\": \"adv.user.doctest.new@example.com\",\n  \"title\": \"Manager\",\n  \"work_phone\": \"1234567788\",\n  \"cell_phone\": \"\",\n  \"instant_messaging_id\": 0,\n  \"instant_messaging_identifier\": \"\",\n  \"language_id\": 1,\n  \"timezone_id\": 90,\n  \"currency_id\": \"USD\",\n  \"account_status\": \"active\",\n  \"send_activation_email\": true,\n  \"set_password_manually\": false,\n  \"initial_password\": \"\"\n}"

response = http.request(request)
puts response.read_body
{
  "network_advertiser_user_id": 256,
  "network_id": 1,
  "network_advertiser_id": 13,
  "first_name": "Bob",
  "last_name": "Smith",
  "email": "adv.user.doctest.new@example.com",
  "title": "Manager",
  "work_phone": "1234567788",
  "cell_phone": "",
  "instant_messaging_id": 0,
  "instant_messaging_identifier": "",
  "language_id": 1,
  "timezone_id": 90,
  "currency_id": "USD",
  "account_status": "active",
  "time_created": 1774322306,
  "time_saved": 1774322306,
  "relationship": {}
}
Create a new user account for a specific advertiser. The user will receive an invite email unless an initial password is provided.

Authorizations

X-Eflow-Api-Key
string
header
required

The Everflow API key generated from the Control Center > Security.

Path Parameters

advertiserId
integer
required

The ID of the advertiser for whom to create a user.

Query Parameters

notification
boolean
default:true

Whether to send a welcome notification email to the user. Defaults to true when omitted.

Body

application/json
first_name
string
required

The advertiser user's first name.

last_name
string
required

The advertiser user's last name.

email
string
required

The advertiser user's email. Must be unique among all advertiser users. Used to log in the platform.

language_id
integer
required

The advertiser user's language ID. This is limited to the value 1 (English).

timezone_id
integer
required

The advertiser user's timezone ID. Can be found using the metadata API.

currency_id
string
required

The advertiser user's currency ID. Can be found using the metadata API.

account_status
enum<string>
required

The advertiser user's account status.

Available options:
active,
inactive,
suspended
title
string

The advertiser user's title.

work_phone
string

The advertiser user's work phone number.

cell_phone
string

The advertiser user's cell phone number.

instant_messaging_id
integer

The ID of an instant messaging platform. Values are 0 for None, 1 for Skype, 2 for Yahoo Messenger, 3 for Telegram, 4 for WhatsApp, 5 for Other.

instant_messaging_identifier
string

The advertiser user's instant messaging identifier. Required when an instant_messaging_id is selected.

send_activation_email
boolean

When set to true, an activation email is sent to the user notifying them of their account creation.

set_password_manually
boolean

When set to true, the initial_password field is required and will be used as the user's login password. When false, the user will receive a password reset email to set their own password.

initial_password
string

The user's login password. Required when set_password_manually is true. Must be a minimum of 12 characters.

Response

200 - application/json
network_advertiser_user_id
integer

Unique advertiser user ID.

network_id
integer

The network ID this user belongs to.

network_advertiser_id
integer

The advertiser ID this user belongs to.

first_name
string

The advertiser user's first name.

last_name
string

The advertiser user's last name.

email
string

The advertiser user's email address.

title
string

The advertiser user's title.

account_status
enum<string>

The advertiser user's account status.

Available options:
active,
inactive,
suspended
work_phone
string

The advertiser user's work phone number.

cell_phone
string

The advertiser user's cell phone number.

instant_messaging_id
integer

The ID of an instant messaging platform. Values are 0 for None, 1 for Skype, 2 for Yahoo Messenger, 3 for Telegram, 4 for WhatsApp, 5 for Other.

instant_messaging_identifier
string

The advertiser user's instant messaging identifier.

language_id
integer

The advertiser user's language ID.

timezone_id
integer

The advertiser user's timezone ID.

currency_id
string

The advertiser user's currency ID (ISO currency code).

relationship
object | null

Related data for this advertiser user. Populate by passing relationship query parameters (e.g. ?relationship=logins&relationship=api).

time_created
integer

Unix timestamp of creation.

Example:

1734455015

time_saved
integer

Unix timestamp of last update.

Example:

1734455015