ControlUp IP Allowlist API

The IP Allowlist API from ControlUp — 2 operation(s) for ip allowlist.

Business capability
Identity & Access Management BC-620.20

Operations 4

GET /organizations/{orgId}/ip-allowlist List all IP allowlist entries #
POST /organizations/{orgId}/ip-allowlist Create an IP allowlist entry #
PATCH /organizations/{orgId}/ip-allowlist/{id} Update an IP allowlist entry #
DELETE /organizations/{orgId}/ip-allowlist/{id} Delete an IP allowlist entry #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/controlup-ip-allowlist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

controlup-ip-allowlist-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dex IP Allowlist API
  version: 1.0.0
  description: Dex API Description
  contact: {}
servers:
- url: https://api.controlup.com/v1
tags:
- name: IP Allowlist
paths:
  /organizations/{orgId}/ip-allowlist:
    get:
      operationId: OrgIpAllowlistPublicController_getAll
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIpAllowlistResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
        '401':
          description: 'Unauthorized: Access is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
        '403':
          description: 'Forbidden: Access to this resource is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
        '404':
          description: 'Not Found: The requested resource could not be found'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
      description: 'Returns a list of all IP allowlist entries.

        Each entry can contain multiple allowed IP addresses or ranges of IP addresses.

        If the IP allowlist is enabled in your organization settings, then only users with IP addresses on the allowlist can access your organization.'
      summary: List all IP allowlist entries
      tags:
      - IP Allowlist
      security:
      - apiKey: []
      parameters:
      - description: 'The page of results to return.

          The first page is page number 1.'
        in: query
        name: _page
        required: false
        schema:
          default: '1'
          format: int32
          type: integer
          minimum: 1
        example: 1
        style: form
      - description: The number of results returned per page.
        in: query
        name: _limit
        required: false
        schema:
          default: '10'
          format: int32
          type: integer
          minimum: 1
        example: 10
        style: form
      - description: Sorts results according to the specified field.
        in: query
        name: _sortBy
        required: false
        schema:
          default: id
          type: string
          enum:
          - description
          - id
          - allowlist
          - createdAt
          - updatedAt
        example: id
        style: form
      - description: The sort order (ascending / descending) of the field specified by the `_sortBy` parameter.
        in: query
        name: _order
        required: false
        schema:
          default: asc
          type: string
          enum:
          - asc
          - desc
        example: asc
        style: form
      - description: 'A search filter that is applied to all fields.

          Only results that contain the specified string are returned.'
        in: query
        name: _search
        required: false
        schema:
          type: string
        style: form
      - description: The format of returned results.
        in: query
        name: _format
        required: false
        schema:
          default: json
          type: string
          enum:
          - json
          - xml
          - csv
        example: json
        style: form
      - description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
        in: path
        name: orgId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: A search filter on the `allowlist` field.
        in: query
        name: allowlist
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/NonEmptyString'
        style: form
      - description: A search filter on the `description` field.
        in: query
        name: description
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/NonEmptyString'
        style: form
      - description: A search filter on the `id` field.
        in: query
        name: id
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/NonEmptyString'
        style: form
    post:
      operationId: OrgIpAllowlistPublicController_create
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponse_IpAllowlistPublic_'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
        '401':
          description: 'Unauthorized: Access is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
        '403':
          description: 'Forbidden: Access to this resource is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
        '404':
          description: 'Not Found: The requested resource could not be found'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
      description: 'Creates a new entry in the IP allowlist.

        Each entry can contain multiple allowed IP addresses or ranges of IP addresses.

        If the IP allowlist is enabled in your organization settings, then only users with IP addresses on the allowlist can access your organization.'
      summary: Create an IP allowlist entry
      tags:
      - IP Allowlist
      security:
      - apiKey: []
      parameters:
      - description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
        in: path
        name: orgId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIpAllowlist'
  /organizations/{orgId}/ip-allowlist/{id}:
    patch:
      operationId: OrgIpAllowlistPublicController_update
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponse_IpAllowlistPublic_'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
        '401':
          description: 'Unauthorized: Access is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
        '403':
          description: 'Forbidden: Access to this resource is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
        '404':
          description: 'Not Found: The requested resource could not be found'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
      description: 'Updates an existing IP allowlist entry by its ID.

        All allowed IP addresses and ranges in the entry are overwritten by the ones you provide in the allowlist parameter.

        Any parameters not passed are not changed.'
      summary: Update an IP allowlist entry
      tags:
      - IP Allowlist
      security:
      - apiKey: []
      parameters:
      - description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
        in: path
        name: orgId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: 'ID of the allowlist entry to update.

          You can use [GET /ip-allowlist](orgipallowlistpubliccontroller_getall) to see the ID of each allowlist entry.'
        in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Partial_CreateIpAllowlist_'
    delete:
      operationId: OrgIpAllowlistPublicController_delete
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponse_DeletedActionResponse_'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
        '401':
          description: 'Unauthorized: Access is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
        '403':
          description: 'Forbidden: Access to this resource is denied'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
        '404':
          description: 'Not Found: The requested resource could not be found'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
      description: 'Deletes an IP allowlist entry by its ID.

        Note that you can’t delete the first IP allowlist entry that is automatically added when a user first enables the IP allowlist.

        This ensures that the user who enabled the allowlist is not locked out of the organization.'
      summary: Delete an IP allowlist entry
      tags:
      - IP Allowlist
      security:
      - apiKey: []
      parameters:
      - description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
        in: path
        name: orgId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: ID of the allowlist entry to delete.
        in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
components:
  schemas:
    UUID:
      type: string
      format: uuid
      description: 'Stringified UUIDv4.

        See [RFC 4112](https://tools.ietf.org/html/rfc4122)'
      pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
    ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_:
      properties:
        message:
          $ref: '#/components/schemas/ErrorMessage.Forbidden'
        code:
          $ref: '#/components/schemas/ErrorCode.Forbidden'
        status:
          $ref: '#/components/schemas/HttpStatusCode.FORBIDDEN'
        data:
          additionalProperties: true
          type: object
      required:
      - status
      - code
      - message
      type: object
    ErrorMessage.Forbidden:
      enum:
      - Forbidden
      type: string
    ErrorCode.Forbidden:
      enum:
      - 4
      type: number
    ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_:
      properties:
        message:
          $ref: '#/components/schemas/BadRequestErrorMessages'
        code:
          $ref: '#/components/schemas/BadRequestErrorCodes'
        status:
          $ref: '#/components/schemas/HttpStatusCode.BAD_REQUEST'
        data:
          additionalProperties: true
          type: object
      required:
      - status
      - code
      - message
      type: object
    Partial_CreateIpAllowlist_:
      properties:
        allowlist:
          items:
            $ref: '#/components/schemas/IpAddressOrCIDR'
          type: array
          description: 'An array of allowed IP addresses or IP address ranges.

            Each entry in the array can be either a single IP address or a range of IP addresses in CIDR notation.'
          minItems: 1
        description:
          type: string
          description: Description of the allowlist entry.
      type: object
      description: Make all properties in T optional
    HttpStatusCode.NOT_FOUND:
      enum:
      - 404
      type: number
    ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__:
      properties:
        metadata:
          $ref: '#/components/schemas/ErrorResponseMetadata'
        error:
          $ref: '#/components/schemas/ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_'
      required:
      - error
      - metadata
      type: object
    ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_:
      properties:
        message:
          $ref: '#/components/schemas/ErrorMessage.NotFound'
        code:
          $ref: '#/components/schemas/ErrorCode.NotFound'
        status:
          $ref: '#/components/schemas/HttpStatusCode.NOT_FOUND'
        data:
          additionalProperties: true
          type: object
      required:
      - status
      - code
      - message
      type: object
    PaginatedResponseMetadata:
      properties:
        total:
          type: number
          format: double
          description: The total number of results across all pages.
        limitPerPage:
          type: number
          format: double
          description: The maximum number of results returned per page (set by the `_limit` parameter).
        currentPageNumber:
          type: number
          format: double
          description: The page of result returned (set by the `_page` parameter).
        currentPageSize:
          type: number
          format: double
          description: The number of results on the current page.
        remaining:
          type: number
          format: double
          description: The total number of results on all pages higher than the current page.
      required:
      - remaining
      - currentPageSize
      - currentPageNumber
      - limitPerPage
      - total
      type: object
      example:
        total: 18
        limitPerPage: 10
        currentPageNumber: 1
        currentPageSize: 10
        remaining: 8
    ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_:
      properties:
        message:
          $ref: '#/components/schemas/ErrorMessage.Unauthorized'
        code:
          $ref: '#/components/schemas/ErrorCode.Unauthorized'
        status:
          $ref: '#/components/schemas/HttpStatusCode.UNAUTHORIZED'
        data:
          additionalProperties: true
          type: object
      required:
      - status
      - code
      - message
      type: object
    ErrorCode.Unauthorized:
      enum:
      - 3
      type: number
    ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_:
      properties:
        message:
          $ref: '#/components/schemas/ErrorMessage.InternalServerError'
        code:
          $ref: '#/components/schemas/ErrorCode.InternalServerError'
        status:
          $ref: '#/components/schemas/HttpStatusCode.INTERNAL_SERVER_ERROR'
        data:
          additionalProperties: true
          type: object
      required:
      - status
      - code
      - message
      type: object
    ISOString:
      type: string
      example: '2022-12-22T18:43:55.483Z'
      format: ISO String YYYY-MM-DDTHH:mm:ss.sssZ
      description: Valid ISO string
      pattern: ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.\d{3})?Z$
    GetIpAllowlistResponse:
      $ref: '#/components/schemas/APIPaginatedResponse_IpAllowlistPublic-Array_'
      example:
        metadata:
          total: 2
          limitPerPage: 10
          currentPageNumber: 1
          currentPageSize: 2
          remaining: 0
        data:
        - id: fc1f41c5-411d-4f00-9943-45a363cdf54c
          description: John Doe's IP
          createdAt: '2024-08-05T18:40:22.244Z'
          updatedAt: '2024-08-05T18:40:22.244Z'
          allowlist:
          - 127.0.0.1
          - ::1
        - id: 535d9cc0-a2ee-4fec-b6ff-f00f28a4d8f8
          description: Office IP addresses
          createdAt: '2024-08-05T18:40:59.500Z'
          updatedAt: '2024-08-05T18:40:59.500Z'
          allowlist:
          - 192.168.0.1
          - 192.168.0.2
          - 192.168.0.3
          - 2001:0000:130F:0000:0000:09C0:876A:130B
    BadRequestErrorMessages:
      enum:
      - Bad Request
      - Invalid Params
      - Unique Field Violation
      type: string
    IpAddressOrCIDR:
      type: string
      example: 192.168.1.10/24
      description: IP Address (v4 or v6, with optional CIDR notation)
      pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?|0))(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?|0)){3}(?:\/(?:[0-9]|[1-2][0-9]|3[0-2]))?$|^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$
    ErrorCode.InternalServerError:
      enum:
      - 6
      type: number
    ErrorMessage.Unauthorized:
      enum:
      - Unauthorized
      type: string
    APIPaginatedResponse_IpAllowlistPublic-Array_:
      allOf:
      - $ref: '#/components/schemas/APIResponse_IpAllowlistPublic-Array_'
      - properties:
          metadata:
            allOf:
            - $ref: '#/components/schemas/PaginatedResponseMetadata'
            - additionalProperties: true
              type: object
        required:
        - metadata
        type: object
    ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__:
      properties:
        metadata:
          $ref: '#/components/schemas/ErrorResponseMetadata'
        error:
          $ref: '#/components/schemas/ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_'
      required:
      - error
      - metadata
      type: object
    APIResponse_IpAllowlistPublic-Array_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IpAllowlistPublic'
          type:
          - array
          - 'null'
      required:
      - data
      type: object
    CreateIpAllowlist:
      properties:
        description:
          type: string
          description: Description of the allowlist entry.
        allowlist:
          items:
            $ref: '#/components/schemas/IpAddressOrCIDR'
          type: array
          description: 'An array of allowed IP addresses or IP address ranges.

            Each entry in the array can be either a single IP address or a range of IP addresses in CIDR notation.'
          minItems: 1
      required:
      - allowlist
      type: object
    ErrorMessage.InternalServerError:
      enum:
      - Internal Server Error
      type: string
    DeletedActionResponse:
      properties:
        affectedRows:
          type: number
          format: double
      required:
      - affectedRows
      type: object
    HttpStatusCode.FORBIDDEN:
      enum:
      - 403
      type: number
    HttpStatusCode.INTERNAL_SERVER_ERROR:
      enum:
      - 500
      type: number
    HttpStatusCode.UNAUTHORIZED:
      enum:
      - 401
      type: number
    ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__:
      properties:
        metadata:
          $ref: '#/components/schemas/ErrorResponseMetadata'
        error:
          $ref: '#/components/schemas/ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_'
      required:
      - error
      - metadata
      type: object
    ? ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__
    : properties:
        metadata:
          $ref: '#/components/schemas/ErrorResponseMetadata'
        error:
          $ref: '#/components/schemas/ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_'
      required:
      - error
      - metadata
      type: object
    NonEmptyString:
      type: string
      minLength: 1
    ErrorMessage.NotFound:
      enum:
      - Not Found
      type: string
    BadRequestErrorCodes:
      enum:
      - 2
      - 14
      - 50
      type: number
    ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__:
      properties:
        metadata:
          $ref: '#/components/schemas/ErrorResponseMetadata'
        error:
          $ref: '#/components/schemas/ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_'
      required:
      - error
      - metadata
      type: object
    APIResponse_DeletedActionResponse_:
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/DeletedActionResponse'
      required:
      - data
      type: object
    IpAllowlistPublic:
      properties:
        id:
          $ref: '#/components/schemas/UUID'
          description: ID of the allowlist entry.
        description:
          type: string
          description: Description of the allowlist entry.
          example: Office IP addresses
        allowlist:
          items:
            $ref: '#/components/schemas/IpAddressOrCIDR'
          type: array
          description: 'An array of allowed IP addresses or IP address ranges.

            Each entry in the array can be either a single IP address or a range of IP addresses in CIDR notation.'
        createdAt:
          $ref: '#/components/schemas/ISOString'
          description: When the allowlist entry was first created.
        updatedAt:
          $ref: '#/components/schemas/ISOString'
          description: When the allowlist entry was last updated.
      required:
      - updatedAt
      - createdAt
      type: object
    ErrorResponseMetadata:
      properties:
        cuRequestId:
          type: string
        orgId:
          type: string
        userId:
          type: string
        userIp:
          type: string
      required:
      - userIp
      - userId
      - orgId
      - cuRequestId
      type: object
    APIResponse_IpAllowlistPublic_:
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/IpAllowlistPublic'
      required:
      - data
      type: object
    ErrorCode.NotFound:
      enum:
      - 5
      type: number
    HttpStatusCode.BAD_REQUEST:
      enum:
      - 400
      type: number
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
x-readme:
  explorer-enabled: true
  proxy-enabled: false
  samples-languages:
  - shell
  - powershell
  - node
  - javascript
  - python
  - c
  - clojure
  - cplusplus
  - csharp
  - http
  - go
  - java
  - json
  - kotlin
  - objectivec
  - ocaml
  - php
  - r
  - ruby
  - shell
  - swift