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

# Set a repository's configuration source

> GitHub Cloud organization admins only. Uses the existing source validation and optimistic concurrency. Supply updatedAt from the latest read, or null when no policy exists.



## OpenAPI

````yaml /openapi.json put /v1/repositories/{repository_id}/configuration/source
openapi: 3.0.3
info:
  title: CodeRabbit API spec
  version: 1.0.0
servers:
  - url: https://api.coderabbit.ai
security:
  - ApiKeyAuth: []
paths:
  /v1/repositories/{repository_id}/configuration/source:
    put:
      tags:
        - Configuration
      summary: Set a repository's configuration source
      description: >-
        GitHub Cloud organization admins only. Uses the existing source
        validation and optimistic concurrency. Supply updatedAt from the latest
        read, or null when no policy exists.
      operationId: set_repository_configuration_source
      parameters:
        - name: repository_id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 255
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                org_id:
                  type: string
                  minLength: 1
                  description: >-
                    Git-provider organization ID. Required for workspace keys;
                    omit for organization keys. This differs from the CodeRabbit
                    organization ID in scope.id.
                source:
                  anyOf:
                    - type: object
                      properties:
                        mode:
                          enum:
                            - auto
                      required:
                        - mode
                      additionalProperties: false
                    - type: object
                      properties:
                        mode:
                          enum:
                            - default_branch
                        allowTrustedPullRequestChanges:
                          type: boolean
                          default: true
                      required:
                        - mode
                      additionalProperties: false
                    - type: object
                      properties:
                        mode:
                          enum:
                            - custom
                        repositoryId:
                          type: string
                          minLength: 1
                          maxLength: 255
                        branch:
                          anyOf:
                            - type: object
                              properties:
                                kind:
                                  enum:
                                    - default
                              required:
                                - kind
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  enum:
                                    - named
                                name:
                                  type: string
                                  minLength: 1
                                  maxLength: 255
                              required:
                                - kind
                                - name
                              additionalProperties: false
                        path:
                          type: string
                          minLength: 1
                          maxLength: 512
                      required:
                        - mode
                        - repositoryId
                        - branch
                        - path
                      additionalProperties: false
                expectedUpdatedAt:
                  anyOf:
                    - type: string
                      format: date-time
                    - type: string
                      nullable: true
                      enum:
                        - null
              required:
                - source
                - expectedUpdatedAt
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  source:
                    anyOf:
                      - type: object
                        properties:
                          mode:
                            enum:
                              - auto
                        required:
                          - mode
                        additionalProperties: false
                      - type: object
                        properties:
                          mode:
                            enum:
                              - default_branch
                          allowTrustedPullRequestChanges:
                            type: boolean
                            default: true
                        required:
                          - mode
                        additionalProperties: false
                      - type: object
                        properties:
                          mode:
                            enum:
                              - custom
                          repositoryId:
                            type: string
                            minLength: 1
                            maxLength: 255
                          branch:
                            anyOf:
                              - type: object
                                properties:
                                  kind:
                                    enum:
                                      - default
                                required:
                                  - kind
                                additionalProperties: false
                              - type: object
                                properties:
                                  kind:
                                    enum:
                                      - named
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                required:
                                  - kind
                                  - name
                                additionalProperties: false
                          path:
                            type: string
                            minLength: 1
                            maxLength: 512
                        required:
                          - mode
                          - repositoryId
                          - branch
                          - path
                        additionalProperties: false
                  updatedAt:
                    anyOf:
                      - type: string
                        format: date-time
                      - type: string
                        nullable: true
                        enum:
                          - null
                  canEdit:
                    type: boolean
                required:
                  - source
                  - updatedAt
                  - canEdit
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - invalid_request
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - unauthenticated
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - forbidden
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - not_found
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '409':
          description: '409'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - head_changed
                          - conflict
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '412':
          description: '412'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - precondition_failed
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '413':
          description: '413'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - payload_too_large
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '429':
          description: '429'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - rate_limit_exceeded
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '500':
          description: '500'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        enum:
                          - internal_error
                        type: string
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '503':
          description: '503'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unavailable
                      message:
                        type: string
                      retry_after:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                        exclusiveMinimum: true
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-coderabbitai-api-key
      description: >-
        API key for authentication. You can create an API key from the
        CodeRabbit dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.