Elastic.io Auth Secrets API

Manage authentication secrets

OpenAPI Specification

elastic-io-auth-secrets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: elastic.io Platform REST Agents Auth Secrets API
  description: The elastic.io Platform REST API v2 provides programmatic access to the elastic.io iPaaS platform. It allows you to manage integration flows, workspaces, contracts, credentials, components, recipes, users, and other platform resources. The API follows the JSON:API specification and uses Bearer token authentication.
  version: 2.0.0
  contact:
    name: elastic.io
    url: https://www.elastic.io/
  license:
    name: Proprietary
    url: https://www.elastic.io/
  termsOfService: https://www.elastic.io/
servers:
- url: https://api.elastic.io/v2
  description: elastic.io Platform API v2
security:
- bearerAuth: []
tags:
- name: Auth Secrets
  description: Manage authentication secrets
paths:
  /auth-secrets:
    get:
      operationId: listAuthSecrets
      summary: Elastic.io List auth secrets
      description: Retrieve a list of authentication secrets.
      tags:
      - Auth Secrets
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/WorkspaceFilter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthSecretListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createAuthSecret
      summary: Elastic.io Create an auth secret
      description: Create a new authentication secret.
      tags:
      - Auth Secrets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthSecretCreateRequest'
      responses:
        '201':
          description: Auth secret created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthSecretResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /auth-secrets/{auth_secret_id}:
    get:
      operationId: getAuthSecret
      summary: Elastic.io Get an auth secret
      description: Retrieve details of a specific auth secret.
      tags:
      - Auth Secrets
      parameters:
      - name: auth_secret_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthSecretResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateAuthSecret
      summary: Elastic.io Update an auth secret
      description: Update an existing auth secret.
      tags:
      - Auth Secrets
      parameters:
      - name: auth_secret_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthSecretUpdateRequest'
      responses:
        '200':
          description: Auth secret updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthSecretResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteAuthSecret
      summary: Elastic.io Delete an auth secret
      description: Delete an auth secret.
      tags:
      - Auth Secrets
      parameters:
      - name: auth_secret_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Auth secret deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    WorkspaceFilter:
      name: filter[workspace_id]
      in: query
      description: Filter by workspace ID
      schema:
        type: string
    PageNumber:
      name: page[number]
      in: query
      description: Page number to retrieve
      schema:
        type: integer
        default: 1
    PageSize:
      name: page[size]
      in: query
      description: Number of items per page
      schema:
        type: integer
        default: 20
  schemas:
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: integer
              title:
                type: string
              detail:
                type: string
    AuthSecretResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AuthSecret'
    JsonApiMeta:
      type: object
      properties:
        page:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
        total_pages:
          type: integer
    AuthSecret:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - auth-secret
        attributes:
          type: object
          properties:
            name:
              type: string
            state:
              type: string
            credentials:
              type: object
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
        relationships:
          type: object
          properties:
            workspace:
              $ref: '#/components/schemas/JsonApiRelationship'
            auth_client:
              $ref: '#/components/schemas/JsonApiRelationship'
    JsonApiLinks:
      type: object
      properties:
        self:
          type: string
          format: uri
        first:
          type: string
          format: uri
        prev:
          type: string
          format: uri
        next:
          type: string
          format: uri
        last:
          type: string
          format: uri
    AuthSecretCreateRequest:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - type
          - attributes
          properties:
            type:
              type: string
              enum:
              - auth-secret
            attributes:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                credentials:
                  type: object
            relationships:
              type: object
              properties:
                workspace:
                  $ref: '#/components/schemas/JsonApiRelationship'
                auth_client:
                  $ref: '#/components/schemas/JsonApiRelationship'
    AuthSecretListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AuthSecret'
        meta:
          $ref: '#/components/schemas/JsonApiMeta'
        links:
          $ref: '#/components/schemas/JsonApiLinks'
    AuthSecretUpdateRequest:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - type
          - id
          properties:
            type:
              type: string
              enum:
              - auth-secret
            id:
              type: string
            attributes:
              type: object
              properties:
                name:
                  type: string
                credentials:
                  type: object
    JsonApiRelationship:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
  responses:
    Unauthorized:
      description: Authentication required or token is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication. Obtain a token through the elastic.io platform login or API key.