C1

C1 Directory API

The Directory API from C1 — 2 operation(s) for directory.

OpenAPI Specification

c1-directory-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 Directory 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: Directory
paths:
  /api/v1/directories:
    get:
      description: List directories.
      operationId: c1.api.directory.v1.DirectoryService.List
      parameters:
      - 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.directory.v1.DirectoryServiceListResponse'
          description: The DirectoryServiceListResponse message contains a list of results and a nextPageToken if applicable.
      summary: List
      tags:
      - Directory
      x-speakeasy-group: Directory
      x-speakeasy-name-override: List
    post:
      description: Create a directory.
      operationId: c1.api.directory.v1.DirectoryService.Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceCreateResponse'
          description: The DirectoryServiceCreateResponse message.
      summary: Create
      tags:
      - Directory
      x-speakeasy-group: Directory
      x-speakeasy-name-override: Create
  /api/v1/directories/{app_id}:
    delete:
      description: Delete a directory by app_id.
      operationId: c1.api.directory.v1.DirectoryService.Delete
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The app_id of the directory to delete.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceDeleteRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceDeleteResponse'
          description: Empty response with a status code indicating success.
      summary: Delete
      tags:
      - Directory
      x-speakeasy-group: Directory
      x-speakeasy-name-override: Delete
    get:
      description: Get a directory by app_id.
      operationId: c1.api.directory.v1.DirectoryService.Get
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceGetResponse'
          description: "The Directory Service Get Response returns a directory view with a directory and JSONPATHs indicating the\n location in the expanded array that items are expanded as indicated by the expand mask in the request."
      summary: Get
      tags:
      - Directory
      x-speakeasy-group: Directory
      x-speakeasy-name-override: Get
    put:
      description: Update a directory by app_id.
      operationId: c1.api.directory.v1.DirectoryService.Update
      parameters:
      - in: path
        name: app_id
        required: true
        schema:
          description: The appId field.
          readOnly: false
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceUpdateRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.directory.v1.DirectoryServiceUpdateResponse'
          description: Successful response
      summary: Update
      tags:
      - Directory
      x-speakeasy-group: Directory
      x-speakeasy-name-override: Update
components:
  schemas:
    c1.api.directory.v1.DirectoryExpandMask:
      description: The fields to be included in the directory response.
      properties:
        paths:
          description: An array of fields to be included in the directory response.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: Directory Expand Mask
      type: object
      x-speakeasy-name-override: DirectoryExpandMask
    c1.api.directory.v1.DirectoryServiceCreateResponse:
      description: The DirectoryServiceCreateResponse message.
      properties:
        directoryView:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryView'
        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: Directory Service Create Response
      type: object
      x-speakeasy-name-override: DirectoryServiceCreateResponse
    c1.api.directory.v1.DirectoryServiceGetResponse:
      description: "The Directory Service Get Response returns a directory view with a directory and JSONPATHs indicating the\n location in the expanded array that items are expanded as indicated by the expand mask in the request."
      properties:
        directoryView:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryView'
        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: Directory Service Get Response
      type: object
      x-speakeasy-name-override: DirectoryServiceGetResponse
    c1.api.directory.v1.DirectoryServiceListResponse:
      description: The DirectoryServiceListResponse message contains a list of results and a nextPageToken if applicable.
      properties:
        expanded:
          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."
          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.directory.v1.DirectoryView'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: List of serialized related objects.
          readOnly: false
          type: string
      title: Directory Service List Response
      type: object
      x-speakeasy-name-override: DirectoryServiceListResponse
    c1.api.directory.v1.Directory:
      description: "This object indicates that an app is also a directory.\n\nThis message contains a oneof named account_filter. Only a single field of the following list may be set at a time:\n  - all\n  - celExpression\n"
      properties:
        all:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterAll'
        appId:
          description: The ID of the app associated with the directory.
          readOnly: true
          type: string
        celExpression:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterCel'
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: Directory
      type: object
      x-speakeasy-name-override: Directory
    c1.api.directory.v1.DirectoryServiceDeleteResponse:
      description: Empty response with a status code indicating success.
      title: Directory Service Delete Response
      type: object
      x-speakeasy-name-override: DirectoryServiceDeleteResponse
    c1.api.directory.v1.DirectoryView:
      description: The directory view contains a directory and an app_path which is a JSONPATH set to the location in the expand mask that the expanded app will live if requested by the expander.
      properties:
        appPath:
          description: JSONPATH expression indicating the location of the App object in the array.
          readOnly: false
          type: string
        directory:
          $ref: '#/components/schemas/c1.api.directory.v1.Directory'
      title: Directory View
      type: object
      x-speakeasy-name-override: DirectoryView
    c1.api.directory.v1.DirectoryServiceDeleteRequestInput:
      description: DirectoryServiceDeleteRequest is the request message for deleting a directory. It uses URL values for input.
      title: Directory Service Delete Request
      type: object
      x-speakeasy-name-override: DirectoryServiceDeleteRequest
    c1.api.directory.v1.DirectoryServiceUpdateRequestInput:
      description: "Update a directory by app_id.\n\nThis message contains a oneof named account_filter. Only a single field of the following list may be set at a time:\n  - all\n  - celExpression\n"
      properties:
        all:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterAll'
        celExpression:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterCel'
        expandMask:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryExpandMask'
      title: Directory Service Update Request
      type: object
      x-speakeasy-name-override: DirectoryServiceUpdateRequest
    c1.api.directory.v1.DirectoryAccountFilterAll:
      description: The DirectoryAccountFilterAll message.
      nullable: true
      title: Directory Account Filter All
      type: object
      x-speakeasy-name-override: DirectoryAccountFilterAll
    c1.api.directory.v1.DirectoryServiceCreateRequest:
      description: "Uplevel an app into a full directory.\n\nThis message contains a oneof named account_filter. Only a single field of the following list may be set at a time:\n  - all\n  - celExpression\n"
      properties:
        all:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterAll'
        appId:
          description: The AppID to make into a directory, providing identities and more for the C1 app.
          readOnly: false
          type: string
        celExpression:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryAccountFilterCel'
        expandMask:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryExpandMask'
      title: Directory Service Create Request
      type: object
      x-speakeasy-name-override: DirectoryServiceCreateRequest
    c1.api.directory.v1.DirectoryAccountFilterCel:
      description: The DirectoryAccountFilterCel message.
      nullable: true
      properties:
        expression:
          description: The expression field.
          readOnly: false
          type: string
      title: Directory Account Filter Cel
      type: object
      x-speakeasy-name-override: DirectoryAccountFilterCel
    c1.api.directory.v1.DirectoryServiceUpdateResponse:
      description: The DirectoryServiceUpdateResponse message.
      properties:
        directoryView:
          $ref: '#/components/schemas/c1.api.directory.v1.DirectoryView'
        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: Directory Service Update Response
      type: object
      x-speakeasy-name-override: DirectoryServiceUpdateResponse
  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