Indykite External Data Resolver API

External Data Resolver configuration

OpenAPI Specification

indykite-external-data-resolver-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: Config API supports CRUD operations on config objects.
  title: Config REST Application Agent Credentials External Data Resolver API
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1'
servers:
- url: https://eu.api.indykite.com/configs/v1
- url: https://us.api.indykite.com/configs/v1
security:
- BearerToken: []
tags:
- name: External Data Resolver
  description: External Data Resolver configuration
  x-displayName: External Data Resolver
paths:
  /external-data-resolvers:
    get:
      tags:
      - External Data Resolver
      operationId: listExternalDataResolvers
      summary: List External Data Resolvers
      description: List External Data Resolvers in provided Project with optional filtering.
      parameters:
      - description: Project ID where to search for External Data Resolvers.
        in: query
        name: project_id
        required: true
        style: form
        explode: true
        schema:
          type: string
      - description: Full fetch of all data. If not provided, only metadata is returned.
        in: query
        name: full_fetch
        required: false
        style: form
        explode: true
        schema:
          type: boolean
      - description: List only objects, that contains given search query in name, display name or description
        in: query
        name: search
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/httpproxy.listConfigResponse-httpproxy_readExternalDataResolverResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
        '401':
          description: Invalid ServiceAccount JWT in Authorization header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
      security:
      - BearerToken: []
    post:
      tags:
      - External Data Resolver
      operationId: createExternalDataResolver
      summary: Create External Data Resolver
      description: Create External Data Resolver in provided Project.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/httpproxy.createExternalDataResolverRequest'
        description: Create External Data Resolver request
        required: true
      responses:
        '201':
          description: Created
          headers:
            etag:
              description: Multiversion concurrency control version - etag
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/httpproxy.createConfigResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
        '401':
          description: Invalid ServiceAccount JWT in Authorization header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
      x-codegen-request-body-name: request
      security:
      - BearerToken: []
  /external-data-resolvers/{id}:
    delete:
      tags:
      - External Data Resolver
      operationId: deleteExternalDataResolver
      summary: Delete External Data Resolver
      description: Delete External Data Resolver by provided ID. You can optionally can specify etag in If-Match header.
      parameters:
      - description: External Data Resolver ID
        in: path
        name: id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - description: Multiversion concurrency control version - etag
        in: header
        name: If-Match
        required: false
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/httpproxy.deleteConfigResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
        '401':
          description: Invalid ServiceAccount JWT in Authorization header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
      security:
      - BearerToken: []
    get:
      tags:
      - External Data Resolver
      operationId: getExternalDataResolver
      summary: Read External Data Resolver
      description: Read External Data Resolver identified by provided ID.
      parameters:
      - description: External Data Resolver ID or name
        in: path
        name: id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - description: Version of configuration to read. If not provided, latest version is returned.
        in: query
        name: version
        style: form
        explode: true
        schema:
          type: integer
      - description: Parent project ID. Required when querying by name
        in: query
        name: location
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers:
            etag:
              description: Multiversion concurrency control version - etag
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/httpproxy.readExternalDataResolverResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
        '401':
          description: Invalid ServiceAccount JWT in Authorization header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
      security:
      - BearerToken: []
    put:
      tags:
      - External Data Resolver
      operationId: updateExternalDataResolver
      summary: Update External Data Resolver
      description: Update External Data Resolver identified by provided ID and optionally etag in If-Match header.
      parameters:
      - description: External Data Resolver ID
        in: path
        name: id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - description: Multiversion concurrency control version - etag.
        in: header
        name: If-Match
        required: false
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/httpproxy.updateExternalDataResolverRequest'
        description: Update External Data Resolver request.
        required: true
      responses:
        '200':
          description: OK
          headers:
            etag:
              description: Multiversion concurrency control version - etag
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/httpproxy.updateConfigResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
        '401':
          description: Invalid ServiceAccount JWT in Authorization header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.ErrorResponse'
      x-codegen-request-body-name: request
      security:
      - BearerToken: []
components:
  schemas:
    httpproxy.readExternalDataResolverResponse:
      properties:
        create_time:
          description: CreateTime specify when configuration was created.
          type: string
        created_by:
          description: CreatedBy specify who created configuration.
          type: string
        description:
          description: Description is optional description of configuration.
          type: string
        display_name:
          description: DisplayName is optional human readable name of configuration. Is equal to Name if not set.
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
        id:
          description: ID is globally unique identifier of configuration.
          type: string
        method:
          type: string
        name:
          description: Name is URL friendly identifier of configuration.
          type: string
        organization_id:
          description: 'OrganizationID is globally unique identifier of organization, formerly known as customer,

            under which configuration was created.'
          type: string
        project_id:
          description: 'ProjectID is globally unique identifier of project, formerly known as application space,

            under which configuration was created.

            Might be empty, if configuration is created directly under organization.'
          type: string
        request_content_type:
          type: string
        request_payload:
          type: string
        response_content_type:
          type: string
        response_selector:
          type: string
        update_time:
          description: UpdateTime specify when configuration was last time updated.
          type: string
        updated_by:
          description: UpdatedBy specify who last time updated configuration.
          type: string
        url:
          type: string
      type: object
    httpproxy.updateConfigResponse:
      properties:
        create_time:
          description: CreateTime specify when configuration was created.
          type: string
        created_by:
          description: CreatedBy specify who created configuration.
          type: string
        id:
          description: ID of configuration to update.
          type: string
        update_time:
          description: UpdateTime specify when configuration was last time updated.
          type: string
        updated_by:
          description: UpdatedBy specify who last time updated configuration.
          type: string
      type: object
    httpproxy.deleteConfigResponse:
      properties:
        id:
          description: ID of deleted configuration.
          type: string
      type: object
    httpproxy.listConfigResponse-httpproxy_readExternalDataResolverResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/httpproxy.readExternalDataResolverResponse'
          type: array
      type: object
    restapi.DetailedError:
      properties:
        errors:
          items:
            type: string
          type: array
        message:
          type: string
      type: object
    httpproxy.updateExternalDataResolverRequest:
      properties:
        description:
          description: 'Description is optional description of configuration. When kept null, it is not changed.

            But when set to empty string, it will be removed.'
          maxLength: 65000
          type: string
        display_name:
          description: 'DisplayName is optional human readable name of configuration. When kept null, it is not changed.

            But when set to empty string, it will be removed.'
          maxLength: 254
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          description: 'Headers to be sent with the request, including authorization if needed.

            Be aware that Content-Type is overridden based on request_content_type and Accept by response_content_type.'
          type: object
        method:
          description: Method specify HTTP method to be used for the request.
          enum:
          - GET
          - POST
          - PUT
          - PATCH
          type: string
        request_content_type:
          description: 'RequestContentType specify format of request body payload and how to set Content-Type header.

            If content-type header is set by Headers, that header will be overridden.'
          enum:
          - JSON
          type: string
        request_payload:
          description: 'RequestPayload to be sent to the endpoint. It should be in proper format based on request type.

            It is going through the template builder to be properly formatted and filled with data.'
          type: string
        response_content_type:
          description: 'ResponseContentType specify expected Content-Type header of response. If mismatch with real response, it will fail.

            This also sets Accept header in request. If Accept header is set by Headers, that header will be overridden.'
          enum:
          - JSON
          type: string
        response_selector:
          description: 'ResponseSelector specify selector to extract data from response.

            Should be in requested format based on Response Type.'
          maxLength: 255
          minLength: 1
          type: string
        url:
          description: URL specify full path to endpoint that will be called.
          type: string
      required:
      - method
      - request_content_type
      - response_content_type
      - response_selector
      - url
      type: object
    restapi.ErrorResponse:
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    httpproxy.createConfigResponse:
      properties:
        create_time:
          description: CreateTime specify when configuration was created.
          type: string
        created_by:
          description: CreatedBy specify who created configuration.
          type: string
        id:
          description: ID is globally unique identifier of created configuration.
          type: string
        update_time:
          description: UpdateTime specify when configuration was last time updated.
          type: string
        updated_by:
          description: UpdatedBy specify who last time updated configuration.
          type: string
      type: object
    httpproxy.createExternalDataResolverRequest:
      properties:
        description:
          description: Description is optional description of configuration.
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: DisplayName is optional human readable name of configuration.
          maxLength: 254
          minLength: 2
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          description: 'Headers to be sent with the request, including authorization if needed.

            Be aware that Content-Type is overridden based on request_content_type and Accept by response_content_type.'
          type: object
        method:
          description: Method specify HTTP method to be used for the request.
          enum:
          - GET
          - POST
          - PUT
          - PATCH
          type: string
        name:
          description: 'Name is URL friendly identifier of configuration, must be unique in scope of parent entity.

            Also is immutable and cannot be changed later.'
          type: string
        project_id:
          description: 'ProjectID is identifier of Project, formerly known as Application space,

            where to place this new configuration object. Must be in GID format.'
          type: string
        request_content_type:
          description: 'RequestContentType specify format of request body payload and how to set Content-Type header.

            If content-type header is set by Headers, that header will be overridden.'
          enum:
          - JSON
          type: string
        request_payload:
          description: 'RequestPayload to be sent to the endpoint. It should be in proper format based on request type.

            It is going through the template builder to be properly formatted and filled with data.'
          type: string
        response_content_type:
          description: 'ResponseContentType specify expected Content-Type header of response. If mismatch with real response, it will fail.

            This also sets Accept header in request. If Accept header is set by Headers, that header will be overridden.'
          enum:
          - JSON
          type: string
        response_selector:
          description: ResponseSelector specify selector to extract data from response. Should be in requested format based on Response Type.
          maxLength: 255
          minLength: 1
          type: string
        url:
          description: URL specify full path to endpoint that will be called.
          type: string
      required:
      - method
      - name
      - project_id
      - request_content_type
      - response_content_type
      - response_selector
      - url
      type: object
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token generated from Service Account credentials.
x-original-swagger-version: '2.0'