> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://es.megaport.ferndocs.com/es/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://es.megaport.ferndocs.com/es/_mcp/server.

# Invitar (Añadir) un Nuevo Usuario a una Empresa Existente

POST https://api.megaport.com/v2/employment
Content-Type: application/json

Invita a un nuevo usuario a una empresa existente.

Un administrador de empresa puede agregar usuarios a su empresa utilizando este punto final. Este punto final desencadena un correo electrónico para ser enviado al usuario invitado con una contraseña temporal. El nuevo usuario debe restablecer su contraseña durante su primer inicio de sesión.

Seleccione el rol de usuario de Megaport para asignar al usuario invitado por el valor de `position`. Estos roles están disponibles:

- **Administrador de empresa** - Los administradores de empresa tienen acceso a todos los privilegios de usuario. Recomendamos limitar el número de administradores de empresa solo a aquellos que requieren acceso completo, pero definir al menos dos para redundancia.
- **Administrador técnico** - Este rol es para usuarios técnicos que saben cómo crear y aprobar pedidos.
- **Contacto técnico** - Este rol es para usuarios técnicos que saben cómo diseñar y modificar servicios pero no tienen la autoridad para aprobar pedidos.
- **Finanzas** - Los usuarios de finanzas deben tener una responsabilidad financiera dentro de la organización y comprender las consecuencias de sus acciones si eliminan o aprueban servicios.  
    **Nota:** Al crear servicios, los clientes directos pueden ver el costo del servicio antes de implementarlo. También es posible ver el costo de los servicios implementados seleccionando un servicio en el Portal y viendo la pestaña Detalles.

- **Contacto financiero** - Este rol de usuario es similar al rol de Finanzas sin la capacidad de realizar y aprobar pedidos, eliminar servicios o administrar claves de servicio.
- **Solo lectura** - Solo lectura es el rol más restrictivo. Tenga en cuenta que un usuario de solo lectura puede ver los detalles del servicio que pueden querer mantener seguros y privados.

Para obtener más detalles, consulte [Invitar usuarios a su cuenta](https://docs.megaport.com/setting-up/inviting-users/) en la documentación de Megaport.

Reference: https://es.megaport.ferndocs.com/es/api-reference/user-authentication/invite-add-a-new-user-to-an-existing-company

## Servers

- `https://api.megaport.com` (Entorno de producción, default)
- `https://api-staging.megaport.com` (Entorno de pruebas (solo pruebas, se restablece cada 24 horas))

## Request

### Body (application/json)

This endpoint expects an object.

- `active` (boolean, optional)
- `email` (string, optional)
- `firstName` (string, optional)
- `lastName` (string, optional)
- `phone` (string, optional)
- `position` (string, optional)

## Response

### 201

Invitar a un nuevo usuario a una empresa existente - Éxito / Invitar a un nuevo usuario a una empresa existente - Éxito

- `data` (V2EmploymentPostResponsesContentApplicationJsonSchemaData, optional)
- `message` (string, optional)
- `terms` (string, optional)

## Errors

### 400 Bad Request Error

Invitar a un Nuevo Usuario a una Empresa Existente - Cuando Faltan Campos Obligatorios / Invitar a un Nuevo Usuario a una Empresa Existente - Cuando Faltan Campos Obligatorios

- `message` (string, optional)
- `terms` (string, optional)

### 401 Unauthorized Error

Invitar a un Nuevo Usuario a una Empresa Existente - Si el Token de Portador Proporcionado (Token de Acceso) es Inválido / Invitar a un Nuevo Usuario a una Empresa Existente - Si el Token de Portador Proporcionado (Token de Acceso) es Inválido

- `message` (string, optional)
- `terms` (string, optional)

### 403 Forbidden Error

Invitar a un Nuevo Usuario a una Empresa Existente - No Tiene Permiso para esta Operación / Invitar a un Nuevo Usuario a una Empresa Existente - No Tiene Permiso para esta Operación

- `message` (string, optional)
- `terms` (string, optional)

## Types

### V2EmploymentPostResponsesContentApplicationJsonSchemaData

- `companyId` (double, optional)
- `employeeId` (double, optional)
- `employmentId` (double, optional)

## Examples

### Invite a New User to an Existing Company - Success

**Response**

```json
{
  "data": {
    "companyId": 54662,
    "employeeId": 54663,
    "employmentId": 49376
  },
  "message": "Empleo 49376 Creado - empleado 54663 creado para Empresa 54662",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Invite a New User to an Existing Company - Success
import requests

url = "https://api.megaport.com/v2/employment"

response = requests.post(url)

print(response.json())
```

```javascript Invite a New User to an Existing Company - Success
const url = 'https://api.megaport.com/v2/employment';
const options = {method: 'POST'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Invite a New User to an Existing Company - Success
package main

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

func main() {

	url := "https://api.megaport.com/v2/employment"

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

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

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

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Invite a New User to an Existing Company - Success
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/employment")

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

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
```

```java Invite a New User to an Existing Company - Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v2/employment")
  .asString();
```

```php Invite a New User to an Existing Company - Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v2/employment');

echo $response->getBody();
```

```csharp Invite a New User to an Existing Company - Success
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/employment");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Invite a New User to an Existing Company - Success
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/employment")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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()
```

### Invite (Add) a New User to an Existing Company

**Request**

```json
{
  "active": true,
  "email": "megaport.invalidfinanceuser@abcd.com",
  "firstName": "megaport",
  "lastName": "invalidfinanceuser",
  "phone": "+61 1233212334",
  "position": "Company Admin"
}
```

**Response**

```json
{
  "data": {
    "companyId": 54662,
    "employeeId": 54663,
    "employmentId": 49376
  },
  "message": "Empleo 49376 Creado - empleado 54663 creado para Empresa 54662",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Invite (Add) a New User to an Existing Company
import requests

url = "https://api.megaport.com/v2/employment"

payload = {
    "active": True,
    "email": "megaport.invalidfinanceuser@abcd.com",
    "firstName": "megaport",
    "lastName": "invalidfinanceuser",
    "phone": "+61 1233212334",
    "position": "Company Admin"
}
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Invite (Add) a New User to an Existing Company
const url = 'https://api.megaport.com/v2/employment';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"active":true,"email":"megaport.invalidfinanceuser@abcd.com","firstName":"megaport","lastName":"invalidfinanceuser","phone":"+61 1233212334","position":"Company Admin"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Invite (Add) a New User to an Existing Company
package main

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

func main() {

	url := "https://api.megaport.com/v2/employment"

	payload := strings.NewReader("{\n  \"active\": true,\n  \"email\": \"megaport.invalidfinanceuser@abcd.com\",\n  \"firstName\": \"megaport\",\n  \"lastName\": \"invalidfinanceuser\",\n  \"phone\": \"+61 1233212334\",\n  \"position\": \"Company Admin\"\n}")

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

	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))

}
```

```ruby Invite (Add) a New User to an Existing Company
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/employment")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"active\": true,\n  \"email\": \"megaport.invalidfinanceuser@abcd.com\",\n  \"firstName\": \"megaport\",\n  \"lastName\": \"invalidfinanceuser\",\n  \"phone\": \"+61 1233212334\",\n  \"position\": \"Company Admin\"\n}"

response = http.request(request)
puts response.read_body
```

```java Invite (Add) a New User to an Existing Company
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v2/employment")
  .header("Content-Type", "application/json")
  .body("{\n  \"active\": true,\n  \"email\": \"megaport.invalidfinanceuser@abcd.com\",\n  \"firstName\": \"megaport\",\n  \"lastName\": \"invalidfinanceuser\",\n  \"phone\": \"+61 1233212334\",\n  \"position\": \"Company Admin\"\n}")
  .asString();
```

```php Invite (Add) a New User to an Existing Company
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v2/employment', [
  'body' => '{
  "active": true,
  "email": "megaport.invalidfinanceuser@abcd.com",
  "firstName": "megaport",
  "lastName": "invalidfinanceuser",
  "phone": "+61 1233212334",
  "position": "Company Admin"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Invite (Add) a New User to an Existing Company
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/employment");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"active\": true,\n  \"email\": \"megaport.invalidfinanceuser@abcd.com\",\n  \"firstName\": \"megaport\",\n  \"lastName\": \"invalidfinanceuser\",\n  \"phone\": \"+61 1233212334\",\n  \"position\": \"Company Admin\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Invite (Add) a New User to an Existing Company
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "active": true,
  "email": "megaport.invalidfinanceuser@abcd.com",
  "firstName": "megaport",
  "lastName": "invalidfinanceuser",
  "phone": "+61 1233212334",
  "position": "Company Admin"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/employment")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```