Astronomer AllowedIpAddressRange API

The AllowedIpAddressRange API from Astronomer — 4 operation(s) for allowedipaddressrange.

OpenAPI Specification

astronomer-allowedipaddressrange-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact: {}
  description: Astro Platform API
  title: Astro Platform AgentToken AllowedIpAddressRange API
  version: v1.0
servers:
- url: https://api.astronomer.io/v1
security:
- JWT: []
tags:
- name: AllowedIpAddressRange
paths:
  /organizations/{organizationId}/allowed-ip-address-ranges:
    get:
      description: List allowed IP address ranges.
      operationId: ListAllowedIpAddressRanges
      parameters:
      - description: The ID of the Organization that you want to retrieve the list of IP addresses for.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      - description: The number of results to skip before returning values.
        in: query
        name: offset
        schema:
          default: 0
          minimum: 0
          type: integer
      - description: The maximum number of results to return.
        in: query
        name: limit
        schema:
          default: 20
          minimum: 0
          type: integer
      - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `<fieldName>:asc` or `<fieldName>:desc`.
        in: query
        name: sorts
        schema:
          items:
            enum:
            - ipAddress:asc
            - ipAddress:desc
            - createdAt:asc
            - createdAt:desc
            - updatedAt:asc
            - updatedAt:desc
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowedIpAddressRangesPaginated'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: List allowed IP address ranges
      tags:
      - AllowedIpAddressRange
      x-permission:
      - action: organization.allowedIpAddressRanges.get
    post:
      description: Create an allowed IP address range that constrains which IP addresses can be used to interact with your Astro Organization using APIs.
      operationId: CreateAllowedIpAddressRange
      parameters:
      - description: The ID of the Organization where you want to create the allowed IP address range.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAllowedIpAddressRangeRequest'
        description: The request body for creating an IP address range that allows access to the Astro API.
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowedIpAddressRange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Create an allowed IP address range
      tags:
      - AllowedIpAddressRange
      x-permission:
      - action: organization.allowedIpAddressRanges.create
  /organizations/{organizationId}/allowed-ip-address-ranges/{allowedIpAddressRangeId}:
    delete:
      description: Delete an allowed IP address range.
      operationId: DeleteAllowedIpAddressRange
      parameters:
      - description: The ID of the Organization where you want to delete the allowed IP address range.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      - description: The ID of the allowed IP address range that you want to delete.
        in: path
        name: allowedIpAddressRangeId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Delete an allowed IP address range
      tags:
      - AllowedIpAddressRange
      x-permission:
      - action: organization.allowedIpAddressRanges.delete
  /organizations/{organizationId}/allowed-ip-address-ranges/bulk-create:
    post:
      description: 'Create up to 1000 allowed IP address ranges for the organization in one request. The whole batch is created atomically — if any item fails validation or conflicts with an existing range, no rows are inserted. This endpoint is NOT idempotent: a retry after an unacknowledged 2xx response may return 409. Clients should call ListAllowedIpAddressRanges to verify state before retrying.'
      operationId: BulkCreateAllowedIpAddressRanges
      parameters:
      - description: The ID of the Organization where you want to create the allowed IP address ranges.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkCreateAllowedIpAddressRangesRequest'
        description: The request body containing the list of CIDR ranges to create.
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowedIpAddressRangesList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Conflict
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Bulk create allowed IP address ranges
      tags:
      - AllowedIpAddressRange
      x-permission:
      - action: organization.allowedIpAddressRanges.create
  /organizations/{organizationId}/allowed-ip-address-ranges/bulk-delete:
    post:
      description: Delete up to 1000 allowed IP address ranges for the organization in one request. The whole batch is deleted atomically. Unknown or duplicate IDs are accepted and ignored; matching rows for this organization are deleted.
      operationId: BulkDeleteAllowedIpAddressRanges
      parameters:
      - description: The ID of the Organization where you want to delete the allowed IP address ranges.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteAllowedIpAddressRangesRequest'
        description: The request body containing the list of allowed IP address range IDs to delete.
        required: true
        x-originalParamName: body
      responses:
        '204':
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Bulk delete allowed IP address ranges
      tags:
      - AllowedIpAddressRange
      x-permission:
      - action: organization.allowedIpAddressRanges.delete
components:
  schemas:
    BulkCreateAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRanges:
          description: 'The allowed IP address ranges, in CIDR format. The batch is created atomically: if any value fails validation or conflicts with an existing range, no rows are inserted.'
          example:
          - 1.1.1.1/32
          - 2.2.2.2/32
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRanges
      type: object
    FieldValidationError:
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      required:
      - code
      - field
      - message
      type: object
    BulkDeleteAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRangeIds:
          description: The allowed IP address range IDs to delete. Duplicate and unknown IDs are accepted; existing matching rows are deleted atomically.
          example:
          - clm9sq6s0000008kz7uvl7yz7
          - clm9sq6s0000108kz8ybn9r1c
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRangeIds
      type: object
    AllowedIpAddressRangesPaginated:
      properties:
        allowedIpAddressRanges:
          items:
            $ref: '#/components/schemas/AllowedIpAddressRange'
          type: array
        limit:
          description: The maximum number of allowed IP address ranges in one page.
          example: 10
          type: integer
        offset:
          description: The offset of the current page of allowed IP address ranges.
          example: 0
          type: integer
        totalCount:
          description: The total number of allowed IP address ranges.
          example: 10
          type: integer
      required:
      - allowedIpAddressRanges
      - limit
      - offset
      - totalCount
      type: object
    AllowedIpAddressRange:
      properties:
        createdAt:
          description: The time when the allowed IP address range was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        createdBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
        id:
          description: The allowed IP address range's ID.
          example: clm9sq6s0000008kz7uvl7yz7
          type: string
        ipAddressRange:
          description: The allowed IP address range in CIDR format.
          example: 1.1.1.1/32
          type: string
        organizationId:
          description: The  allowed IP address range's Organization ID.
          example: clyt27999000008me3yp39wcp
          type: string
        updatedAt:
          description: The time when the allowed IP address range was updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        updatedBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
      required:
      - createdAt
      - id
      - ipAddressRange
      - organizationId
      - updatedAt
      type: object
    CreateAllowedIpAddressRangeRequest:
      properties:
        ipAddressRange:
          description: The allowed IP address range in CIDR format.
          example: 1.1.1.1/32
          type: string
      required:
      - ipAddressRange
      type: object
    AllowedIpAddressRangesList:
      properties:
        allowedIpAddressRanges:
          items:
            $ref: '#/components/schemas/AllowedIpAddressRange'
          type: array
      required:
      - allowedIpAddressRanges
      type: object
    BasicSubjectProfile:
      properties:
        apiTokenName:
          description: The API token's name. Returned only when `SubjectType` is `SERVICEKEY`.
          example: my-token
          type: string
        avatarUrl:
          description: The URL for the user's profile image. Returned only when `SubjectType` is `USER`.
          example: https://avatar.url
          type: string
        fullName:
          description: The subject's full name. Returned only when `SubjectType` is `USER`.
          example: Jane Doe
          type: string
        id:
          description: The subject's ID.
          example: clm8qv74h000008mlf08scq7k
          type: string
        subjectType:
          description: The subject type.
          enum:
          - USER
          - SERVICEKEY
          example: USER
          type: string
        username:
          description: The subject's username. Returned only when `SubjectType` is `USER`.
          example: user1@company.com
          type: string
      required:
      - id
      type: object
    Error:
      properties:
        fieldErrors:
          description: 'FieldErrors carries one entry per failed request-validation constraint.

            Only present on 400 responses caused by request binding/validation.'
          items:
            $ref: '#/components/schemas/FieldValidationError'
          type: array
        message:
          type: string
        requestId:
          type: string
        statusCode:
          maximum: 600
          minimum: 400
          type: integer
      required:
      - message
      - requestId
      - statusCode
      type: object
  securitySchemes:
    JWT:
      scheme: bearer
      type: http