Skip to main content
POST
/
api
/
v2
/
apps
/
{app_id}
/
owners
/
users
/
{role_slug}
/
{user_ref_id}
CreateUserOwner
package main

import(
	"context"
	"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
	conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
	"github.com/conductorone/conductorone-sdk-go/pkg/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := conductoronesdkgo.New(
        conductoronesdkgo.WithSecurity(shared.Security{
            BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            Oauth: "<YOUR_OAUTH_HERE>",
        }),
    )

    res, err := s.AppOwnersV2.CreateUserOwner(ctx, operations.C1APIAppV2AppOwnersCreateUserOwnerRequest{
        AppID: "<id>",
        RoleSlug: "<value>",
        UserRefID: "<id>",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.CreateUserOwnerResponse != nil {
        // handle response
    }
}
import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";

const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
  security: {
    bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
    oauth: "<YOUR_OAUTH_HERE>",
  },
});

async function run() {
  const result = await conductoroneSDKTypescript.appOwnersV2.createUserOwner({
    appId: "<id>",
    roleSlug: "<value>",
    userRefId: "<id>",
  });

  console.log(result);
}

run();
curl --request POST \
  --url https://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "userRef": {
    "id": "<string>"
  }
}
'
import requests

url = "https://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id}"

payload = { "userRef": { "id": "<string>" } }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({userRef: {id: '<string>'}})
};

fetch('https://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id}', 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://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id}",
  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([
    'userRef' => [
        'id' => '<string>'
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id}")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"userRef\": {\n    \"id\": \"<string>\"\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://{tenantDomain}.conductor.one/api/v2/apps/{app_id}/owners/users/{role_slug}/{user_ref_id}")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"userRef\": {\n    \"id\": \"<string>\"\n  }\n}"

response = http.request(request)
puts response.read_body
{
  "appOwnerUser": {
    "appId": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "roleSlug": "<string>",
    "user": {
      "createdAt": "2023-11-07T05:31:56Z",
      "delegatedUserId": "<string>",
      "deletedAt": "2023-11-07T05:31:56Z",
      "department": "<string>",
      "departmentSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "directoryIds": [
        "<string>"
      ],
      "directoryStatusSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "displayName": "<string>",
      "email": "<string>",
      "emailSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "emails": [
        "<string>"
      ],
      "employeeIdSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "employeeIds": [
        "<string>"
      ],
      "employmentStatus": "<string>",
      "employmentStatusSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "employmentType": "<string>",
      "employmentTypeSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "id": "<string>",
      "jobTitle": "<string>",
      "jobTitleSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "managerIds": [
        "<string>"
      ],
      "managerSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "profile": {},
      "roleIds": [
        "<string>"
      ],
      "updatedAt": "2023-11-07T05:31:56Z",
      "username": "<string>",
      "usernameSources": [
        {
          "appId": "<string>",
          "appUserId": "<string>",
          "appUserProfileAttributeKey": "<string>",
          "userAttributeMappingId": "<string>",
          "value": "<string>"
        }
      ],
      "usernames": [
        "<string>"
      ]
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Authorization
string
header
required

This API uses OAuth2 with the Client Credential flow. Client Credentials must be sent in the BODY, not the headers. For an example of how to implement this, refer to the c1TokenSource.Token() function.

Path Parameters

app_id
string
required

The appId field.

role_slug
string
required

The roleSlug field.

user_ref_id
string
required

The id of the user.

Body

application/json

CreateUserOwnerRequest is the request for creating a user ownership source.

userRef
User Ref · object | null

A reference to a user.

Response

200 - application/json

CreateUserOwnerResponse is the response for creating a user ownership source.

CreateUserOwnerResponse is the response for creating a user ownership source.

appOwnerUser
App Owner User · object | null

AppOwnerUser represents a user ownership source for an app.