Skip to main content
POST
/
api
/
v1
/
catalogs
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.RequestCatalogManagement.Create(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }
    if res.RequestCatalogManagementServiceGetResponse != nil {
        // handle response
    }
}
{
  "expanded": [
    {
      "@type": "<string>"
    }
  ],
  "requestCatalogView": {
    "accessEntitlementsPath": "<string>",
    "createdByUserPath": "<string>",
    "memberCount": "<string>",
    "requestCatalog": {
      "accessEntitlements": [
        {
          "alias": "<string>",
          "appId": "<string>",
          "appResourceId": "<string>",
          "appResourceTypeId": "<string>",
          "certifyPolicyId": "<string>",
          "complianceFrameworkValueIds": [
            "<string>"
          ],
          "createdAt": "2023-11-07T05:31:56Z",
          "defaultValuesApplied": true,
          "deletedAt": "2023-11-07T05:31:56Z",
          "deprovisionerPolicy": {
            "action": {
              "actionName": "<string>",
              "appId": "<string>",
              "connectorId": "<string>",
              "displayName": "<string>"
            },
            "connector": {
              "account": {
                "config": {},
                "connectorId": "<string>",
                "doNotSave": {},
                "saveToVault": {
                  "vaultIds": [
                    "<string>"
                  ]
                },
                "schemaId": "<string>"
              },
              "defaultBehavior": {
                "connectorId": "<string>"
              },
              "deleteAccount": {
                "connectorId": "<string>"
              }
            },
            "delegated": {
              "appId": "<string>",
              "entitlementId": "<string>",
              "implicit": true
            },
            "externalTicket": {
              "appId": "<string>",
              "connectorId": "<string>",
              "externalTicketProvisionerConfigId": "<string>",
              "instructions": "<string>"
            },
            "manual": {
              "instructions": "<string>",
              "userIds": [
                "<string>"
              ]
            },
            "multiStep": {
              "provisionSteps": "<array>"
            },
            "unconfigured": {},
            "webhook": {
              "webhookId": "<string>"
            }
          },
          "description": "<string>",
          "displayName": "<string>",
          "durationGrant": "<string>",
          "durationUnset": {},
          "emergencyGrantEnabled": true,
          "emergencyGrantPolicyId": "<string>",
          "grantCount": "<string>",
          "grantPolicyId": "<string>",
          "id": "<string>",
          "isAutomationEnabled": true,
          "isManuallyManaged": true,
          "matchBatonId": "<string>",
          "overrideAccessRequestsDefaults": true,
          "provisionerPolicy": {
            "action": {
              "actionName": "<string>",
              "appId": "<string>",
              "connectorId": "<string>",
              "displayName": "<string>"
            },
            "connector": {
              "account": {
                "config": {},
                "connectorId": "<string>",
                "doNotSave": {},
                "saveToVault": {
                  "vaultIds": [
                    "<string>"
                  ]
                },
                "schemaId": "<string>"
              },
              "defaultBehavior": {
                "connectorId": "<string>"
              },
              "deleteAccount": {
                "connectorId": "<string>"
              }
            },
            "delegated": {
              "appId": "<string>",
              "entitlementId": "<string>",
              "implicit": true
            },
            "externalTicket": {
              "appId": "<string>",
              "connectorId": "<string>",
              "externalTicketProvisionerConfigId": "<string>",
              "instructions": "<string>"
            },
            "manual": {
              "instructions": "<string>",
              "userIds": [
                "<string>"
              ]
            },
            "multiStep": {
              "provisionSteps": "<array>"
            },
            "unconfigured": {},
            "webhook": {
              "webhookId": "<string>"
            }
          },
          "purpose": "APP_ENTITLEMENT_PURPOSE_VALUE_UNSPECIFIED",
          "requestSchemaId": "<string>",
          "revokePolicyId": "<string>",
          "riskLevelValueId": "<string>",
          "slug": "<string>",
          "sourceConnectorIds": {},
          "systemBuiltin": true,
          "updatedAt": "2023-11-07T05:31:56Z",
          "userEditedMask": "<string>"
        }
      ],
      "createdAt": "2023-11-07T05:31:56Z",
      "createdByUserId": "<string>",
      "deletedAt": "2023-11-07T05:31:56Z",
      "description": "<string>",
      "displayName": "<string>",
      "enrollmentBehavior": "REQUEST_CATALOG_ENROLLMENT_BEHAVIOR_UNSPECIFIED",
      "id": "<string>",
      "published": true,
      "requestBundle": true,
      "unenrollmentBehavior": "REQUEST_CATALOG_UNENROLLMENT_BEHAVIOR_UNSPECIFIED",
      "unenrollmentEntitlementBehavior": "REQUEST_CATALOG_UNENROLLMENT_ENTITLEMENT_BEHAVIOR_UNSPECIFIED",
      "updatedAt": "2023-11-07T05:31:56Z",
      "visibleToEveryone": true
    }
  }
}

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

Create a request catalog.

displayName
string
required

The display name of the new request catalog.

description
string

The description of the new request catalog.

enrollmentBehavior
enum<string>

Defines how to handle the request policies of the entitlements in the catalog during enrollment.

Available options:
REQUEST_CATALOG_ENROLLMENT_BEHAVIOR_UNSPECIFIED,
REQUEST_CATALOG_ENROLLMENT_BEHAVIOR_BYPASS_ENTITLEMENT_REQUEST_POLICY,
REQUEST_CATALOG_ENROLLMENT_BEHAVIOR_ENFORCE_ENTITLEMENT_REQUEST_POLICY
expandMask
Request Catalog Expand Mask · object

The RequestCatalogExpandMask includes the paths in the catalog view to expand in the return value of this call.

published
boolean

Whether or not the new catalog should be created as published.

requestBundle
boolean

Whether all the entitlements in the catalog can be requests at once. Your tenant must have the bundles feature to use this.

unenrollmentBehavior
enum<string>

Defines how to handle the revocation of the entitlements in the catalog during unenrollment.

Available options:
REQUEST_CATALOG_UNENROLLMENT_BEHAVIOR_UNSPECIFIED,
REQUEST_CATALOG_UNENROLLMENT_BEHAVIOR_LEAVE_ACCESS_AS_IS,
REQUEST_CATALOG_UNENROLLMENT_BEHAVIOR_REVOKE_ALL,
REQUEST_CATALOG_UNENROLLMENT_BEHAVIOR_REVOKE_UNJUSTIFIED
unenrollmentEntitlementBehavior
enum<string>

Defines how to handle the revoke policies of the entitlements in the catalog during unenrollment.

Available options:
REQUEST_CATALOG_UNENROLLMENT_ENTITLEMENT_BEHAVIOR_UNSPECIFIED,
REQUEST_CATALOG_UNENROLLMENT_ENTITLEMENT_BEHAVIOR_BYPASS,
REQUEST_CATALOG_UNENROLLMENT_ENTITLEMENT_BEHAVIOR_ENFORCE
visibleToEveryone
boolean

Whether or not the new catalog is visible to everyone by default.

Response

200 - application/json

The request catalog management service get response returns a request catalog view with the expanded items in the expanded array indicated by the expand mask in the request.

The request catalog management service get response returns a request catalog view with the expanded items in the expanded array indicated by the expand mask in the request.

expanded
object[] | null

List of serialized related objects.

requestCatalogView
Request Catalog View · object

The request catalog view contains the serialized request catalog and paths to objects referenced by the request catalog.