Skip to main content
POST
/
api
/
v1
/
apps
Create
package main

import(
	"context"
	"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
	conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
	"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.Apps.Create(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }
    if res.CreateAppResponse != nil {
        // handle response
    }
}
{
  "app": {
    "annotations": {},
    "appAccountId": "<string>",
    "appAccountName": "<string>",
    "appOwners": [
      {
        "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>"
        ]
      }
    ],
    "appUserMapper": {
      "mappingCases": [
        {
          "appUserKeyCel": "<string>",
          "userKeyCel": "<string>"
        }
      ]
    },
    "certifyPolicyId": "<string>",
    "connectorVersion": 123,
    "createdAt": "2023-11-07T05:31:56Z",
    "defaultRequestCatalogId": "<string>",
    "deletedAt": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "displayName": "<string>",
    "enableConnectorSourcedOwnership": true,
    "fieldMask": "<string>",
    "grantPolicyId": "<string>",
    "iconUrl": "<string>",
    "id": "<string>",
    "instructions": "<string>",
    "isDirectory": true,
    "isManuallyManaged": true,
    "logoUri": "<string>",
    "monthlyCostUsd": 123,
    "parentAppId": "<string>",
    "revokePolicyId": "<string>",
    "strictAccessEntitlementProvisioning": true,
    "updatedAt": "2023-11-07T05:31:56Z",
    "userCount": "<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.

Body

application/json

The CreateAppRequest message is used to create a new app.

displayName
string | null
required

Creates the app with this display name.

annotations
object

Bounded key/value metadata bag for IaC marking and customer tags. See .rfcs/object-annotations.md §2. Limits: ≤16 entries; keys 1–128 chars matching ^[A-Za-z][A-Za-z0-9._/-]{0,127}$; values 0–256 chars matching URL-safe ASCII; total serialized ≤4096 bytes. Keys starting with c1/ are reserved for server-managed use and rejected on write.

Well-known keys: managed_by, iac_workspace, iac_resource_address, iac_tool_version.

appEntitlementOwnerRefs
App Entitlement Ref · object[] | null

Sets entitlement owners on the app.

certifyPolicyId
string | null

Creates the app with this certify policy.

description
string | null

Creates the app with this description.

grantPolicyId
string | null

Creates the app with this grant policy.

identityMatching
enum<string> | null

Define the app user identity matching strategy for this app.

Available options:
APP_USER_IDENTITY_MATCHING_UNSPECIFIED,
APP_USER_IDENTITY_MATCHING_STRICT,
APP_USER_IDENTITY_MATCHING_DISPLAY_NAME,
APP_USER_IDENTITY_MATCHING_CUSTOM
instructions
string | null

Instructions shown to users in the access request form when requesting access for this app.

monthlyCostUsd
integer<int32> | null

Creates the app with this monthly cost per seat.

owners
string[] | null

Creates the app with this array of user owners.

revokePolicyId
string | null

Creates the app with this revoke policy.

strictAccessEntitlementProvisioning
boolean | null

This flag enforces a provisioning mode where the access entitlement is always included in the provisioning flow, if the app user doesn't exist

Response

200 - application/json

Returns the new app's values.

Returns the new app's values.

app
App · object

The App object provides all of the details for an app, as well as some configuration.