> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Template Entitlements

> AddTemplateEntitlements adds entitlements to an access review template's selection without
 replacing existing selections or their policies. For large selections, send chunks of at most
 200 entitlements and wait for each call to finish before sending the next. Entitlements that
 are already selected are skipped, so retrying a chunk is safe. If the template has no apps and
 resources scope yet, it is set to the selected entitlements. The per-campaign entitlement quota
 applies to the total selection. To change user, account or grant scope afterwards, send the
 template from AccessReviewTemplateService.Get to AccessReviewTemplateService.Update with
 update_mask scope rather than using SetScopeAndEntitlements, which would replace the whole selection.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/access_review_template/{access_review_template_id}/entitlements/add
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 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/access_review_template/{access_review_template_id}/entitlements/add:
    post:
      tags:
        - Access Review Templates
      summary: Add Template Entitlements
      description: >-
        AddTemplateEntitlements adds entitlements to an access review template's
        selection without
         replacing existing selections or their policies. For large selections, send chunks of at most
         200 entitlements and wait for each call to finish before sending the next. Entitlements that
         are already selected are skipped, so retrying a chunk is safe. If the template has no apps and
         resources scope yet, it is set to the selected entitlements. The per-campaign entitlement quota
         applies to the total selection. To change user, account or grant scope afterwards, send the
         template from AccessReviewTemplateService.Get to AccessReviewTemplateService.Update with
         update_mask scope rather than using SetScopeAndEntitlements, which would replace the whole selection.
      operationId: >-
        c1.api.accessreview.v1.AccessReviewTemplateSetupEntitlementService.AddTemplateEntitlements
      parameters:
        - in: path
          name: access_review_template_id
          required: true
          schema:
            description: The ID of the access review template to add entitlements to.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.accessreview.v1.AccessReviewAddTemplateEntitlementsRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.accessreview.v1.AccessReviewAddTemplateEntitlementsResponse
          description: Successful response
components:
  schemas:
    c1.api.accessreview.v1.AccessReviewAddTemplateEntitlementsRequestInput:
      description: The AccessReviewAddTemplateEntitlementsRequest message.
      properties:
        entitlements:
          description: >-
            The entitlements to add. Entitlements that are already selected are
            skipped.
          items:
            $ref: >-
              #/components/schemas/c1.api.accessreview.v1.AccessReviewTemplateSetupEntitlementInput
          type:
            - array
            - 'null'
      title: Access Review Add Template Entitlements Request
      type: object
      x-speakeasy-name-override: AccessReviewAddTemplateEntitlementsRequest
    c1.api.accessreview.v1.AccessReviewAddTemplateEntitlementsResponse:
      description: The AccessReviewAddTemplateEntitlementsResponse message.
      properties:
        entitlementCount:
          description: >-
            The total number of entitlements selected for the template after
            this call.
          format: int32
          type: integer
      title: Access Review Add Template Entitlements Response
      type: object
      x-speakeasy-name-override: AccessReviewAddTemplateEntitlementsResponse
    c1.api.accessreview.v1.AccessReviewTemplateSetupEntitlementInput:
      description: Identifies an entitlement to add or remove from a template's setup.
      properties:
        appEntitlementId:
          description: The ID of the entitlement.
          type: string
        appId:
          description: The ID of the application that owns the entitlement.
          type: string
      title: Access Review Template Setup Entitlement Input
      type: object
      x-speakeasy-name-override: AccessReviewTemplateSetupEntitlementInput
  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

````