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