> ## 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.

# Test Source Ip

> TestSourceIP checks whether a given IP address would be allowed by the specified CIDR allowlist rules.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/settings/session/test-source-ip
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/settings/session/test-source-ip:
    post:
      tags:
        - Session Settings
      summary: Test Source Ip
      description: >-
        TestSourceIP checks whether a given IP address would be allowed by the
        specified CIDR allowlist rules.
      operationId: c1.api.settings.v1.SessionSettingsService.TestSourceIP
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.settings.v1.TestSourceIPRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.settings.v1.TestSourceIPResponse'
          description: Successful response
      x-codeSamples:
        - lang: go
          label: TestSourceIP
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.SessionSettings.TestSourceIP(ctx, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.TestSourceIPResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.sessionSettings.testSourceIP();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.settings.v1.TestSourceIPRequest:
      description: The TestSourceIPRequest message.
      properties:
        allowCidr:
          description: >-
            The CIDR allowlist rules to test against. If empty, uses the
            tenant's current allowlist.
             Accepts IPv4 (e.g. 10.0.0.0/24) or IPv6 (e.g. 2001:db8::/32) CIDRs.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        sourceIp:
          description: |-
            if unset, uses the source IP of the request.
             Accepts IPv4 (e.g. 10.0.0.5) or IPv6 (e.g. 2001:db8::1) addresses, optionally with a CIDR prefix.
          readOnly: false
          type: string
      title: Test Source Ip Request
      type: object
      x-speakeasy-name-override: TestSourceIPRequest
    c1.api.settings.v1.TestSourceIPResponse:
      description: The TestSourceIPResponse message.
      properties:
        allowed:
          description: Whether the tested IP address is allowed by the CIDR rules.
          readOnly: false
          type: boolean
        checkedIp:
          description: >-
            The IP address that was checked, either from the request or inferred
            from the caller.
          readOnly: false
          type: string
        details:
          $ref: '#/components/schemas/google.rpc.Status'
      title: Test Source Ip Response
      type: object
      x-speakeasy-name-override: TestSourceIPResponse
    google.rpc.Status:
      description: |-
        The `Status` type defines a logical error model that is suitable for
         different programming environments, including REST APIs and RPC APIs. It is
         used by [gRPC](https://github.com/grpc). Each `Status` message contains
         three pieces of data: error code, error message, and error details.

         You can find out more about this error model and how to work with it in the
         [API Design Guide](https://cloud.google.com/apis/design/errors).
      properties:
        code:
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          format: int32
          readOnly: false
          type: integer
        details:
          description: >-
            A list of messages that carry the error details.  There is a common
            set of
             message types for APIs to use.
          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
        message:
          description: |-
            A developer-facing error message, which should be in English. Any
             user-facing error message should be localized and sent in the
             [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
          readOnly: false
          type: string
      title: Status
      type: object
      x-speakeasy-name-override: Status
  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

````