C1

C1 Role API

The Role API from C1 — 2 operation(s) for role.

OpenAPI Specification

c1-role-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 Role 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: Role
paths:
  /api/v1/iam/roles:
    get:
      description: List all roles for the current user.
      operationId: c1.api.iam.v1.Roles.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.iam.v1.ListRolesResponse'
          description: The ListRolesResponse message contains a list of results and a nextPageToken if applicable.
      summary: List
      tags:
      - Role
      x-speakeasy-group: Roles
      x-speakeasy-name-override: List
  /api/v1/iam/roles/{role_id}:
    get:
      description: Get a role by id.
      operationId: c1.api.iam.v1.Roles.Get
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          description: The roleId field.
          readOnly: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.iam.v1.GetRolesResponse'
          description: The GetRolesResponse message contains the retrieved role.
      summary: Get
      tags:
      - Role
      x-speakeasy-group: Roles
      x-speakeasy-name-override: Get
    post:
      description: Update a role by passing a Role object.
      operationId: c1.api.iam.v1.Roles.Update
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          description: The id of the role.
          readOnly: true
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.iam.v1.UpdateRoleRequestInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.iam.v1.UpdateRolesResponse'
          description: UpdateRolesResponse is the response message containing the updated role.
      summary: Update
      tags:
      - Role
      x-speakeasy-group: Roles
      x-speakeasy-name-override: Update
components:
  schemas:
    c1.api.iam.v1.UpdateRoleRequestInput:
      description: The UpdateRoleRequest message contains the role to update and the update mask.
      properties:
        role:
          $ref: '#/components/schemas/c1.api.iam.v1.Role'
        updateMask:
          nullable: true
          readOnly: false
          type: string
      title: Update Role Request
      type: object
      x-speakeasy-name-override: UpdateRoleRequest
    c1.api.iam.v1.ListRolesResponse:
      description: The ListRolesResponse 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.iam.v1.Role'
          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: List Roles Response
      type: object
      x-speakeasy-name-override: ListRolesResponse
    c1.api.iam.v1.UpdateRolesResponse:
      description: UpdateRolesResponse is the response message containing the updated role.
      properties:
        role:
          $ref: '#/components/schemas/c1.api.iam.v1.Role'
      title: Update Roles Response
      type: object
      x-speakeasy-name-override: UpdateRolesResponse
    c1.api.iam.v1.GetRolesResponse:
      description: The GetRolesResponse message contains the retrieved role.
      properties:
        role:
          $ref: '#/components/schemas/c1.api.iam.v1.Role'
      title: Get Roles Response
      type: object
      x-speakeasy-name-override: GetRolesResponse
    c1.api.iam.v1.Role:
      description: Role is a role that can be assigned to a user in ConductorOne.
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        displayName:
          description: The display name of the role.
          readOnly: false
          type: string
        id:
          description: The id of the role.
          readOnly: true
          type: string
        name:
          description: The internal name of the role.
          readOnly: true
          type: string
        permissions:
          description: The list of permissions this role has.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        serviceRoles:
          description: The list of serviceRoles that this role has.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        systemApiOnly:
          description: This Role is intended for API keys usage only, and the user interface may not function as expected.
          readOnly: true
          type: boolean
        systemBuiltin:
          description: The system builtin field. If this field is set, the role is not editable.
          readOnly: true
          type: boolean
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: Role
      type: object
      x-speakeasy-name-override: Role
  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