> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-ad-account-provisioning-setup.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Manually Managed App Resource

> Invokes the c1.api.app.v1.AppResourceService.CreateManuallyManagedAppResource method.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources
openapi: 3.1.0
info:
  description: The ConductorOne API is a HTTP API for managing ConductorOne resources.
  title: ConductorOne API
  version: 0.1.0-alpha
servers:
  - description: The ConductorOne API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources:
    post:
      tags:
        - App Resource
      summary: Create Manually Managed App Resource
      description: >-
        Invokes the
        c1.api.app.v1.AppResourceService.CreateManuallyManagedAppResource
        method.
      operationId: c1.api.app.v1.AppResourceService.CreateManuallyManagedAppResource
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: The appId field.
            readOnly: false
            type: string
        - in: path
          name: app_resource_type_id
          required: true
          schema:
            description: The appResourceTypeId field.
            readOnly: false
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.app.v1.CreateManuallyManagedAppResourceRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.CreateManuallyManagedAppResourceResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: CreateManuallyManagedAppResource
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.AppResource.CreateManuallyManagedAppResource(ctx, operations.C1APIAppV1AppResourceServiceCreateManuallyManagedAppResourceRequest{\n        AppID: \"<id>\",\n        AppResourceTypeID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.CreateManuallyManagedAppResourceResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            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.appResource.createManuallyManagedAppResource({
                appId: "<id>",
                appResourceTypeId: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.CreateManuallyManagedAppResourceRequestInput:
      description: The CreateManuallyManagedAppResourceRequest message.
      properties:
        description:
          description: The description field.
          readOnly: false
          type: string
        displayName:
          description: The displayName field.
          readOnly: false
          type: string
        matchBatonId:
          description: >-
            If supplied, it's implied that the resource is created before sync
            and needs to be merged with connector resource.
          readOnly: false
          type: string
        resourceOwnerUserIds:
          description: The resourceOwnerUserIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      required:
        - displayName
      title: Create Manually Managed App Resource Request
      type: object
      x-speakeasy-name-override: CreateManuallyManagedAppResourceRequest
    c1.api.app.v1.CreateManuallyManagedAppResourceResponse:
      description: The CreateManuallyManagedAppResourceResponse message.
      properties:
        appResource:
          $ref: '#/components/schemas/c1.api.app.v1.AppResource'
      title: Create Manually Managed App Resource Response
      type: object
      x-speakeasy-name-override: CreateManuallyManagedAppResourceResponse
    c1.api.app.v1.AppResource:
      description: >
        The app resource message is a single resource that can have
        entitlements.


        This message contains a oneof named metadata. Only a single field of the
        following list may be set at a time:
          - secretTrait
      properties:
        appId:
          description: The app that this resource belongs to.
          readOnly: false
          type: string
        appResourceTypeId:
          description: The resource type that this resource is.
          readOnly: false
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        customDescription:
          description: A custom description that can be set for a resource.
          readOnly: false
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        description:
          description: The description set for the resource.
          readOnly: false
          type: string
        displayName:
          description: The display name for this resource.
          readOnly: false
          type: string
        grantCount:
          description: The number of grants to this resource.
          format: int64
          readOnly: false
          type: string
        id:
          description: The id of the resource.
          readOnly: false
          type: string
        matchBatonId:
          description: The matchBatonId field.
          readOnly: false
          type: string
        parentAppResourceId:
          description: >-
            The parent resource id, if this resource is a child of another
            resource.
          readOnly: false
          type: string
        parentAppResourceTypeId:
          description: >-
            The parent resource type id, if this resource is a child of another
            resource.
          readOnly: false
          type: string
        secretTrait:
          $ref: '#/components/schemas/c1.api.app.v1.SecretTrait'
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: App Resource
      type: object
      x-speakeasy-entity: App Resource
      x-speakeasy-name-override: AppResource
    c1.api.app.v1.SecretTrait:
      description: The SecretTrait message.
      nullable: true
      properties:
        identityAppUserId:
          description: The identityAppUserId field.
          readOnly: false
          type: string
        lastUsedAt:
          format: date-time
          readOnly: false
          type: string
        secretCreatedAt:
          format: date-time
          readOnly: false
          type: string
        secretExpiresAt:
          format: date-time
          readOnly: false
          type: string
      title: Secret Trait
      type: object
      x-speakeasy-name-override: SecretTrait
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        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()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````