curl --request POST \
--url https://api.example.com/api/v1/bko/invites/{token}/accept \
--header 'Content-Type: application/json' \
--data '
{
"name": "Maria Silva",
"password": "P@ssw0rd!"
}
'import requests
url = "https://api.example.com/api/v1/bko/invites/{token}/accept"
payload = {
"name": "Maria Silva",
"password": "P@ssw0rd!"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Maria Silva', password: 'P@ssw0rd!'})
};
fetch('https://api.example.com/api/v1/bko/invites/{token}/accept', 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.example.com/api/v1/bko/invites/{token}/accept",
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([
'name' => 'Maria Silva',
'password' => 'P@ssw0rd!'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.example.com/api/v1/bko/invites/{token}/accept"
payload := strings.NewReader("{\n \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/bko/invites/{token}/accept")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/bko/invites/{token}/accept")
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 \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\n}"
response = http.request(request)
puts response.read_body{
"inviteId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "MEMBER",
"invitedByUserId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"token": "a1b2c3d4e5f6",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"expiresAt": "2026-01-08T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z",
"invitedBy": {
"userId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"name": "Maria Silva",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"googleProviderId": "109876543210987654321",
"email": "maria@example.com",
"avatar": "users/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/avatar/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"organization": {
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"name": "Cooperativa Metropolitana",
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"company": {
"companyId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"industrySegment": "retail",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"address": {
"organizationAddressId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"country": "BR",
"state": "SP",
"city": "São Paulo",
"zipCode": "01310-100",
"street": "Av. Paulista",
"neighborhood": "Bela Vista",
"number": "1000",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"complement": "Sala 42",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"tradeName": "Metropolitana",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"phoneIso": "BR",
"phoneDdi": "+55",
"phoneNumber": "1133334444",
"email": "contato@estrela.com",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"invitedUserId": null,
"employeeId": null,
"employee": {
"employeeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"companyId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"status": "ACTIVE",
"name": "Maria Silva"
},
"roleId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"transportOperatorId": null,
"transportOperator": {
"document": "12345678000190",
"documentType": "CNPJ",
"legalName": "Joao Silva Transportes Ltda",
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"tradeName": "Silva Transportes"
},
"email": "novo@example.com",
"createdBy": null,
"updatedBy": null,
"acceptedAt": null,
"revokedAt": null,
"rejectedAt": null,
"invitedUser": {
"userId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"name": "Maria Silva",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"googleProviderId": "109876543210987654321",
"email": "maria@example.com",
"avatar": "users/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/avatar/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"role": {
"roleId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "ORGANIZATION",
"name": "Administrador",
"permissions": [
"read:trip",
"create:trip"
],
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"description": "Acesso total à organização",
"createdBy": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"updatedBy": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"deletedBy": null,
"deletedAt": null
}
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Internal Server Error",
"statusCode": 500
}Accept Invite
Accepts an invite.
curl --request POST \
--url https://api.example.com/api/v1/bko/invites/{token}/accept \
--header 'Content-Type: application/json' \
--data '
{
"name": "Maria Silva",
"password": "P@ssw0rd!"
}
'import requests
url = "https://api.example.com/api/v1/bko/invites/{token}/accept"
payload = {
"name": "Maria Silva",
"password": "P@ssw0rd!"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Maria Silva', password: 'P@ssw0rd!'})
};
fetch('https://api.example.com/api/v1/bko/invites/{token}/accept', 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.example.com/api/v1/bko/invites/{token}/accept",
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([
'name' => 'Maria Silva',
'password' => 'P@ssw0rd!'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.example.com/api/v1/bko/invites/{token}/accept"
payload := strings.NewReader("{\n \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/bko/invites/{token}/accept")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/bko/invites/{token}/accept")
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 \"name\": \"Maria Silva\",\n \"password\": \"P@ssw0rd!\"\n}"
response = http.request(request)
puts response.read_body{
"inviteId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "MEMBER",
"invitedByUserId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"token": "a1b2c3d4e5f6",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"expiresAt": "2026-01-08T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z",
"invitedBy": {
"userId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"name": "Maria Silva",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"googleProviderId": "109876543210987654321",
"email": "maria@example.com",
"avatar": "users/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/avatar/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"organization": {
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"name": "Cooperativa Metropolitana",
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"company": {
"companyId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"industrySegment": "retail",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"address": {
"organizationAddressId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"country": "BR",
"state": "SP",
"city": "São Paulo",
"zipCode": "01310-100",
"street": "Av. Paulista",
"neighborhood": "Bela Vista",
"number": "1000",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"complement": "Sala 42",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"tradeName": "Metropolitana",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"phoneIso": "BR",
"phoneDdi": "+55",
"phoneNumber": "1133334444",
"email": "contato@estrela.com",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"invitedUserId": null,
"employeeId": null,
"employee": {
"employeeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"companyId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"status": "ACTIVE",
"name": "Maria Silva"
},
"roleId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"transportOperatorId": null,
"transportOperator": {
"document": "12345678000190",
"documentType": "CNPJ",
"legalName": "Joao Silva Transportes Ltda",
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"tradeName": "Silva Transportes"
},
"email": "novo@example.com",
"createdBy": null,
"updatedBy": null,
"acceptedAt": null,
"revokedAt": null,
"rejectedAt": null,
"invitedUser": {
"userId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"name": "Maria Silva",
"phoneIso": "BR",
"phoneDdi": "55",
"phoneNumber": "99999999999",
"phoneVerified": false,
"emailVerified": false,
"status": "ACTIVE",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"googleProviderId": "109876543210987654321",
"email": "maria@example.com",
"avatar": "users/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/avatar/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null
},
"role": {
"roleId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "ORGANIZATION",
"name": "Administrador",
"permissions": [
"read:trip",
"create:trip"
],
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"description": "Acesso total à organização",
"createdBy": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"updatedBy": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"deletedBy": null,
"deletedAt": null
}
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Internal Server Error",
"statusCode": 500
}Path Parameters
Invite token
"a1b2c3d4e5f6"
Query Parameters
Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.
Body
Response
OK
Invite
Invite identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Invite type
MEMBER, EMPLOYEE, DRIVER "MEMBER"
Issuer user identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Organization identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Invite token
"a1b2c3d4e5f6"
Phone ISO country code
"BR"
International dialing code
"55"
Phone number without country code
"99999999999"
Expires at
"2026-01-08T00:00:00.000Z"
Created at
"2026-01-01T00:00:00.000Z"
User
Show child attributes
Show child attributes
Organization
Show child attributes
Show child attributes
Invited user identifier
null
Employee identifier
null
Invited employee
Show child attributes
Show child attributes
Role identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Transport operator identifier
null
Transport operator
Show child attributes
Show child attributes
Invitee email
"novo@example.com"
Created by
null
Updated by
null
Accepted at
null
Revoked at
null
Rejected at
null
User
Show child attributes
Show child attributes
Role
Show child attributes
Show child attributes