C1

C1 App Resource API

The App Resource API from C1 — 4 operation(s) for app resource.

OpenAPI Specification

c1-app-resource-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: The ConductorOne API is a HTTP API for managing ConductorOne resources.
  title: ConductorOne Access Conflict App Resource 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: []
tags:
- name: App Resource
paths:
  /api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources:
    get:
      description: Invokes the c1.api.app.v1.AppResourceService.List method.
      operationId: c1.api.app.v1.AppResourceService.List
      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
      - in: query
        name: page_size
        schema:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
      - in: query
        name: page_token
        schema:
          description: The pageToken field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.AppResourceServiceListResponse'
          description: The AppResourceServiceListResponse message contains a list of results and a nextPageToken if applicable.
      summary: List
      tags:
      - App Resource
      x-speakeasy-group: AppResource
      x-speakeasy-name-override: List
    post:
      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
      summary: Create Manually Managed App Resource
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-resource: App Resource#create
      x-speakeasy-group: AppResource
      x-speakeasy-name-override: CreateManuallyManagedAppResource
  /api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id}:
    delete:
      description: Invokes the c1.api.app.v1.AppResourceService.DeleteManuallyManagedAppResource method.
      operationId: c1.api.app.v1.AppResourceService.DeleteManuallyManagedAppResource
      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
      - in: path
        name: id
        required: true
        schema:
          description: The appResourceId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.DeleteManuallyManagedAppResourceRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.DeleteManuallyManagedAppResourceResponse'
          description: Successful response
      summary: Delete Manually Managed App Resource
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-resource: App Resource#delete
      x-speakeasy-group: AppResource
      x-speakeasy-name-override: DeleteManuallyManagedAppResource
    get:
      description: Invokes the c1.api.app.v1.AppResourceService.Get method.
      operationId: c1.api.app.v1.AppResourceService.Get
      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
      - in: path
        name: id
        required: true
        schema:
          description: The id field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.AppResourceServiceGetResponse'
          description: The app resource service get response contains the app resource view and array of expanded items indicated by the request's expand mask.
      summary: Get
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-datasource: App Resource#read
        terraform-resource: App Resource#read
      x-speakeasy-group: AppResource
      x-speakeasy-name-override: Get
    post:
      description: Invokes the c1.api.app.v1.AppResourceService.Update method.
      operationId: c1.api.app.v1.AppResourceService.Update
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The app that this resource belongs to.
          readOnly: false
          type: string
      - in: path
        name: app_resource_type_id
        required: true
        schema:
          description: The resource type that this resource is.
          readOnly: false
          type: string
      - in: path
        name: id
        required: true
        schema:
          description: The id of the resource.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.AppResourceServiceUpdateRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.AppResourceServiceUpdateResponse'
          description: Successful response
      summary: Update
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-resource: App Resource#update
      x-speakeasy-group: AppResource
      x-speakeasy-name-override: Update
  /api/v1/search/app_resource_types:
    post:
      description: Search app resources based on filters specified in the request body.
      operationId: c1.api.app.v1.AppResourceSearch.SearchAppResourceTypes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourceTypesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourceTypesResponse'
          description: The SearchAppResourceTypesResponse message contains a list of results and a nextPageToken if applicable.
      summary: Search App Resource Types
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-datasource:
        - App Resource Type#read
        - App Resource Types#read
        terraform-resource: null
      x-speakeasy-group: AppResourceSearch
      x-speakeasy-name-override: SearchAppResourceTypes
      x-speakeasy-pagination:
        inputs:
        - in: requestBody
          name: pageToken
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
        type: cursor
  /api/v1/search/app_resources:
    post:
      description: Invokes the c1.api.app.v1.AppResourceSearch.SearchAppResources method.
      operationId: c1.api.app.v1.AppResourceSearch.SearchAppResources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourcesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourcesResponse'
          description: Successful response
      summary: Search App Resources
      tags:
      - App Resource
      x-speakeasy-entity-operation:
        terraform-datasource: App Resources#read
        terraform-resource: null
      x-speakeasy-group: AppResourceSearch
      x-speakeasy-name-override: SearchAppResources
      x-speakeasy-pagination:
        inputs:
        - in: requestBody
          name: pageToken
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
        type: cursor
components:
  schemas:
    c1.api.app.v1.SearchAppResourceTypesRequest:
      description: Search for app resources based on some filters.
      properties:
        appIds:
          description: A list of app IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        appUserIds:
          description: A list of app user IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        displayName:
          description: Exact match on display name
          readOnly: false
          type: string
        excludeResourceTypeIds:
          description: A list of resource type IDs to exclude from the search.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeResourceTypeTraitIds:
          description: A list of resource type trait IDs to exclude from the search.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        pageSize:
          description: The pageSize where 10 <= pageSize <= 100, default 25.
          format: int32
          readOnly: false
          type: integer
        pageToken:
          description: The pageToken field.
          readOnly: false
          type: string
        query:
          description: Fuzzy search the display name of resource types.
          readOnly: false
          type: string
        resourceTypeIds:
          description: A list of resource type IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        resourceTypeTraitIds:
          description: A list of resource type trait IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: Search App Resource Types Request
      type: object
      x-speakeasy-name-override: SearchAppResourceTypesRequest
    c1.api.app.v1.AppResourceServiceUpdateResponse:
      description: The AppResourceServiceUpdateResponse message.
      properties:
        appResourceView:
          $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
        expanded:
          description: The expanded field.
          items:
            additionalProperties: true
            description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: App Resource Service Update Response
      type: object
      x-speakeasy-name-override: AppResourceServiceUpdateResponse
    c1.api.app.v1.AppResourceType:
      description: The AppResourceType is referenced by an app entitlement defining its resource types. Commonly things like Group or Role.
      properties:
        appId:
          description: The ID of the app that is associated with the app resource type
          readOnly: true
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        displayName:
          description: The display name of the app resource type.
          readOnly: false
          type: string
        id:
          description: The unique ID for the app resource type.
          readOnly: true
          type: string
        traitIds:
          description: Associated trait ids
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: App Resource Type
      type: object
      x-speakeasy-entity: App Resource Type
      x-speakeasy-name-override: AppResourceType
    c1.api.app.v1.SearchAppResourcesRequest:
      description: The SearchAppResourcesRequest message.
      properties:
        appId:
          description: The appId field.
          readOnly: false
          type: string
        appUserIds:
          description: The appUserIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeDeletedResourceBindings:
          description: The excludeDeletedResourceBindings field.
          readOnly: false
          type: boolean
        excludeResourceIds:
          description: The excludeResourceIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeResourceTypeTraitIds:
          description: The excludeResourceTypeTraitIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        pageSize:
          description: The pageSize field.
          format: int32
          readOnly: false
          type: integer
        pageToken:
          description: The pageToken field.
          readOnly: false
          type: string
        query:
          description: The query field.
          readOnly: false
          type: string
        refs:
          description: The refs field.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceRef'
          nullable: true
          readOnly: false
          type: array
        resourceIds:
          description: The resourceIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        resourceTypeIds:
          description: The resourceTypeIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        resourceTypeTraitIds:
          description: The resourceTypeTraitIds field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: Search App Resources Request
      type: object
      x-speakeasy-name-override: SearchAppResourcesRequest
    c1.api.app.v1.DeleteManuallyManagedAppResourceResponse:
      description: The DeleteManuallyManagedAppResourceResponse message.
      title: Delete Manually Managed App Resource Response
      type: object
      x-speakeasy-name-override: DeleteManuallyManagedAppResourceResponse
    c1.api.app.v1.DeleteManuallyManagedAppResourceRequestInput:
      description: The DeleteManuallyManagedAppResourceRequest message.
      title: Delete Manually Managed App Resource Request
      type: object
      x-speakeasy-name-override: DeleteManuallyManagedAppResourceRequest
    c1.api.app.v1.SearchAppResourcesResponse:
      description: The SearchAppResourcesResponse message.
      properties:
        expanded:
          description: The expanded field.
          items:
            additionalProperties: true
            description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
        list:
          description: The list field.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: The nextPageToken field.
          readOnly: false
          type: string
      title: Search App Resources Response
      type: object
      x-speakeasy-name-override: SearchAppResourcesResponse
    c1.api.app.v1.SearchAppResourceTypesResponse:
      description: The SearchAppResourceTypesResponse message contains a list of results and a nextPageToken if applicable.
      properties:
        list:
          description: The list of results containing up to X results, where X is the page size defined in the request.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceType'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: "The nextPageToken is shown for the next page if the number of results is larger than the max page size.\n The server returns one page of results and the nextPageToken until all results are retreived.\n To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page."
          readOnly: false
          type: string
      title: Search App Resource Types Response
      type: object
      x-speakeasy-name-override: SearchAppResourceTypesResponse
    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.AppResourceRef:
      description: The AppResourceRef message.
      properties:
        appId:
          description: The appId field.
          readOnly: false
          type: string
        appResourceTypeId:
          description: The appResourceTypeId field.
          readOnly: false
          type: string
        id:
          description: The id field.
          readOnly: false
          type: string
      title: App Resource Ref
      type: object
      x-speakeasy-name-override: AppResourceRef
    c1.api.app.v1.AppResource:
      description: "The app resource message is a single resource that can have entitlements.\n\nThis message contains a oneof named metadata. Only a single field of the following list may be set at a time:\n  - secretTrait\n"
      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.AppResourceServiceGetResponse:
      description: The app resource service get response contains the app resource view and array of expanded items indicated by the request's expand mask.
      properties:
        appResourceView:
          $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
        expanded:
          description: List of serialized related objects.
          items:
            additionalProperties: true
            description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: App Resource Service Get Response
      type: object
      x-speakeasy-name-override: AppResourceServiceGetResponse
    c1.api.app.v1.AppResourceView:
      description: The app resource view returns an app resource with paths for items in the expand mask filled in when this response is returned and a request expand mask has "*" or "app_id" or "resource_type_id".
      properties:
        appPath:
          description: JSONPATH expression indicating the location of the App object in the array
          readOnly: false
          type: string
        appResource:
          $ref: '#/components/schemas/c1.api.app.v1.AppResource'
        parentResourcePath:
          description: JSONPATH expression indicating the location of the Parent Resource object in the array
          readOnly: false
          type: string
        parentResourceTypePath:
          description: JSONPATH expression indicating the location of the Parent Resource Type object in the array
          readOnly: false
          type: string
        resourceTypePath:
          description: JSONPATH expression indicating the location of the Resource Type object in the array
          readOnly: false
          type: string
      title: App Resource View
      type: object
      x-speakeasy-name-override: AppResourceView
    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
    c1.api.app.v1.AppResourceExpandMask:
      description: The app resource expand mask lets you get information about related objects from the request.
      properties:
        paths:
          description: The app resource expanded fields. Maybe be any combination of "*", "app_id", "app_resource_type_id".
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: App Resource Expand Mask
      type: object
      x-speakeasy-name-override: AppResourceExpandMask
    c1.api.app.v1.AppResourceServiceListResponse:
      description: The AppResourceServiceListResponse message contains a list of results and a nextPageToken if applicable.
      properties:
        expanded:
          description: List of serialized related objects.
          items:
            additionalProperties: true
            description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
        list:
          description: The list of results containing up to X results, where X is the page size defined in the request.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: "The nextPageToken is shown for the next page if the number of results is larger than the max page size.\n The server returns one page of results and the nextPageToken until all results are retreived.\n To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page."
          readOnly: false
          type: string
      title: App Resource Service List Response
      type: object
      x-speakeasy-name-override: AppResourceServiceListResponse
    c1.api.app.v1.AppResourceServiceUpdateRequestInput:
      description: The AppResourceServiceUpdateRequest message.
      properties:
        appResource:
          $ref: '#/components/schemas/c1.api.app.v1.AppResource'
        expandMask:
          $ref: '#/components/schemas/c1.api.app.v1.AppResourceExpandMask'
        updateMask:
          nullable: true
          readOnly: false
          type: string
      title: App Resource Service Update Request
      type: object
      x-speakeasy-name-override: AppResourceServiceUpdateRequest
    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
  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