components:
  schemas:
    AccessTokenPost:
      additionalProperties: false
      properties:
        client_id:
          default: 3lvvu1vktf8c4lj4lt44gjt8is
          type: string
        password:
          default: Sputnik@52
          type: string
        username:
          default: sputnik
          type: string
      required:
      - username
      - password
      - client_id
      type: object
    AccessTokenResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            access_token:
              description: Access token retrieved from Cognito.
              type: string
            refresh_token:
              description: Refresh token retrieved from Cognito.
              type: string
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    ApiGatewayResponse200:
      properties:
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    CognitoSecretsResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            client_id:
              description: The client ID retrieved from Cognito.
              type: string
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    CognitoUserPost:
      additionalProperties: false
      properties:
        email:
          format: email
          pattern: ^[^\s]+$
          type: string
        password:
          type: string
      required:
      - email
      - password
      type: object
    CognitoUsersResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            cognito_users:
              description: The cognito users retrieved from Cognito.
              example: []
              items:
                type: string
              type: array
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    ConfigPost:
      additionalProperties: false
      properties:
        parameter_list:
          example:
            key1: value1
            key2: value2
          type: object
        secret_id:
          pattern: ^[a-zA-Z0-9]+$
          type: string
      required:
      - secret_id
      - parameter_list
      type: object
    ConfigPut:
      additionalProperties: false
      properties:
        parameter_list:
          example:
            key1: value1
            key2: value2
          type: object
      required:
      - parameter_list
      type: object
    ConfigResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            parameter_list:
              description: Parameter list retrieved from Parameter Store
              type: object
            secret_id:
              description: Secret id for the corresponding configs
              type: object
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    Empty:
      title: Empty Schema
      type: object
    ForgotPasswordPost:
      additionalProperties: false
      properties:
        email:
          format: email
          pattern: ^[^\s]+$
          type: string
      required:
      - email
      type: object
    RefreshTokenPost:
      additionalProperties: false
      properties:
        client_id:
          default: 3lvvu1vktf8c4lj4lt44gjt8is
          type: string
        refresh_token:
          type: string
      required:
      - refresh_token
      - client_id
      type: object
    RefreshTokenResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            access_token:
              description: Access token retrieved from Cognito.
              type: string
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    ResetPasswordPost:
      additionalProperties: false
      properties:
        confirmation_code:
          type: string
        email:
          format: email
          pattern: ^[^\s]+$
          type: string
        new_password:
          type: string
      required:
      - confirmation_code
      - new_password
      type: object
    SecretPost:
      additionalProperties: false
      properties:
        password:
          type: string
        secret_id:
          pattern: ^[a-zA-Z0-9]+$
          type: string
        username:
          pattern: ^[a-zA-Z0-9]+$
          type: string
      required:
      - secret_id
      - username
      - password
      type: object
    SecretPut:
      additionalProperties: false
      properties:
        password:
          type: string
        username:
          pattern: ^[a-zA-Z0-9]+$
          type: string
      type: object
    SecretResponse200Model:
      properties:
        data:
          description: Additional data returned by the API.
          properties:
            secret_ids:
              description: The secret ids retrieved from Secret Manager.
              example: []
              items:
                type: string
              type: array
          type: object
        message:
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    StatusResponse200:
      properties:
        data:
          description: Contains data related to the satellite status.
          properties:
            billing_information:
              description: Cost of different services.
              type: object
            status:
              description: Details about the satellite status.
              enum:
              - OK
              - INFO
              - WARNING
              - ERROR
              - DEPRECATED
              - UNKNOWN
              example: OK
              type: string
            status_comment:
              description: Status comment.
              type: string
          type: object
        message:
          default: Satellite status has been retrieved successfully!
          description: A message describing the result of the request.
          type: string
        status_code:
          default: 200
          description: HTTP status code indicating the success or failure of the request.
          type: integer
      type: object
    TradePost:
      additionalProperties: false
      properties:
        secret_id:
          pattern: ^[a-zA-Z0-9]+$
          type: string
      required:
      - secret_id
      type: object
  securitySchemes:
    Sputnik-Satellite-OAuth-Authorizer:
      flows:
        authorizationCode:
          authorizationUrl: https://auth.prod746669203809.drkv.cloud/oauth2/authorize
          scopes:
            aws.cognito.signin.user.admin: Cognito SignIn scope
          tokenUrl: https://auth.prod746669203809.drkv.cloud/oauth2/token
      type: oauth2
info:
  description: This is a Sputnik server based on the OpenAPI 3.0 specification.
  title: Sputnik-Satellite-Api-Gateway
  version: 1.0.0
openapi: 3.0.3
paths:
  /access-token:
    post:
      description: Generate access token of cognito user.
      operationId: generate_access_token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessTokenPost'
        description: Essential parameters to generate access token.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenResponse200Model'
                type: object
          description: Access token has been successfully generated!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Generate access token of cognito user.
      tags:
      - Access Token
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Access-Token-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /cognito-secrets:
    get:
      description: For fetching the client id.
      operationId: cognito-secrets
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CognitoSecretsResponse200Model'
                type: object
          description: Cognito secrets have been retrieved successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: For fetching the client id.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Cognito-Secrets-Function/invocations
  /cognito-user:
    delete:
      description: For deleting cognito user.
      operationId: cognito-user-delete
      parameters:
      - in: query
        name: email
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The cognito user has been deleted successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For deleting cognito user.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Cognito-User-Delete-Function/invocations
    post:
      description: For registering new cognito user.
      operationId: cognito-user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CognitoUserPost'
        description: Essential parameter to register cognito user.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The cognito user has been registered successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For registering new cognito user.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Cognito-User-Post-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /cognito-users:
    get:
      description: For fetching all cognito users.
      operationId: cognito-users
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CognitoUsersResponse200Model'
          description: The cognito users have been fetched successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For fetching all cognito users.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Cognito-User-Get-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /configs:
    post:
      description: Store parameters in the parameter store.
      operationId: post_configs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigPost'
        description: Store parameters in the parameter store.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Parameters have been stored successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: Storing parameters in the parameter store.
      tags:
      - Configs
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Config-Post-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /configs/{secret_id}:
    delete:
      description: Delete parameters from the parameter store.
      operationId: delete_config
      parameters:
      - description: Secret id for which parameters need to be deleted.
        in: path
        name: secret_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Parameters have been deleted successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      - Sputnik-Satellite-OAuth-Authorizer: []
      summary: Deleting parameters from the parameter store.
      tags:
      - Configs
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Config-Delete-Function/invocations
    get:
      description: Fetch parameters from the parameter store.
      operationId: get_configs
      parameters:
      - description: Secret id for which parameter list needs to be fetched and use
          'all' as secret_id to fetch all available configs.
        in: path
        name: secret_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigResponse200Model'
          description: The parameter list has been retrieved successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For fetching parameters from the parameter store.
      tags:
      - Configs
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Config-Get-Function/invocations
    put:
      description: Update the parameter list in the parameter store.
      operationId: update_configs
      parameters:
      - description: Secret id for which parameter lists need to be updated.
        in: path
        name: secret_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigPut'
        description: Essential parameters to update the parameter list in the parameter
          store.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The parameter list has been updated successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      - Sputnik-Satellite-OAuth-Authorizer: []
      summary: Updating the parameter list in the parameter store.
      tags:
      - Configs
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Config-Put-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /forgot-password:
    post:
      description: For forgot cognito user password.
      operationId: forgot-password
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForgotPasswordPost'
        description: Essential parameter to forgot cognito user password.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
                type: object
          description: A verification code has been sent to your registered email.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: For forgot cognito user password.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Forgot-Password-Function/invocations
  /monitor:
    post:
      description: For checking the status of a process in EC2.
      operationId: monitor
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradePost'
        description: Essential parameters to check the status of a process.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The process is executing successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For monitoring the process in EC2.
      tags:
      - Monitor
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Monitor-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /refresh-token:
    post:
      description: Generate access token using refresh token.
      operationId: post_refresh_token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenPost'
        description: Essential parameters to generate access token.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefreshTokenResponse200Model'
                type: object
          description: Access token has been successfully generated!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Generate access token using refresh token.
      tags:
      - Access Token
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Refresh-Token-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /reset-password:
    post:
      description: For resetting the cognito user password.
      operationId: reset-password
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetPasswordPost'
        description: Essential parameter to reset the cognito user password.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Your password has been updated successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: For resetting the cognito user password.
      tags:
      - Authentication
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Reset-Password-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /secrets:
    get:
      description: Fetch secrets from the secret manager.
      operationId: get_secrets
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResponse200Model'
                type: object
          description: Secret ids have been retrieved successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      - Sputnik-Satellite-OAuth-Authorizer: []
      summary: For fetching secrets from the secret manager.
      tags:
      - Secrets
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Secret-Get-Function/invocations
    post:
      description: Store credentials in a secret manager.
      operationId: store_secrets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretPost'
        description: Essential parameters to store credentials in a secret manager.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Credentials have been successfully stored!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: Storing credentials in a secret manager.
      tags:
      - Secrets
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Secret-Post-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /secrets/{secret_id}:
    delete:
      description: Delete a secret id from the secret manager.
      operationId: delete_secrets
      parameters:
      - description: Secret id to be deleted.
        in: path
        name: secret_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The secret id has been deleted successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      - Sputnik-Satellite-OAuth-Authorizer: []
      summary: Deleting a secret id from a secret manager.
      tags:
      - Secrets
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Secret-Delete-Function/invocations
    put:
      description: Update credentials in the secret manager.
      operationId: update_secrets
      parameters:
      - description: Secret id to be updated.
        in: path
        name: secret_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretPut'
        description: Essential parameters to update credentials in the secret manager.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: The secret id has been updated successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      - Sputnik-Satellite-OAuth-Authorizer: []
      summary: Updating credentials in the secret manager.
      tags:
      - Secrets
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Secret-Put-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /status:
    get:
      description: For checking satellite status.
      operationId: sputnik_status
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse200'
          description: Satellite status has been retrieved successfully!
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: For checking satellite status.
      tags:
      - Status
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Sputnik-Status-Function/invocations
  /trade-execute:
    post:
      description: Initiate trade process execution.
      operationId: trade-execute
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradePost'
        description: Essential parameters to initiate trade process execution.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Initiated the process for executing the trade process.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: Initiating trade process execution.
      tags:
      - Trade Execute
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Trade-Execute-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
  /trade-terminate:
    post:
      description: Initiate trade process termination.
      operationId: trade-terminate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradePost'
        description: Essential parameters to initiate trade process termination.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGatewayResponse200'
          description: Initiated the process for terminating the trade process.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
      - Sputnik-Satellite-OAuth-Authorizer: []
      - Sputnik-Satellite-Authorizer:
        - aws.cognito.signin.user.admin
      summary: Initiating trade process termination.
      tags:
      - Trade Terminate
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavior: when_no_match
        type: aws_proxy
        uri: arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:${AWS::AccountId}:function:Sputnik-Satellite-Trade-Terminate-Function/invocations
      x-amazon-apigateway-request-validator: Validate body
servers:
- url: https://api.prod746669203809.drkv.cloud
x-amazon-apigateway-gateway-responses:
  BAD_REQUEST_BODY:
    responseParameters:
      gatewayresponse.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'''
      gatewayresponse.header.Access-Control-Allow-Methods: '''OPTIONS,POST'''
      gatewayresponse.header.Access-Control-Allow-Origin: '''*'''
    responseTemplates:
      application/json: '{

        "status_code":400,

        "message":"$context.error.validationErrorString"

        }'
    statusCode: 400
  DEFAULT_4XX:
    responseParameters:
      gatewayresponse.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'''
      gatewayresponse.header.Access-Control-Allow-Methods: '''OPTIONS,POST'''
      gatewayresponse.header.Access-Control-Allow-Origin: '''*'''
    statusCode: 401
  DEFAULT_5XX:
    responseParameters:
      gatewayresponse.header.Access-Control-Allow-Headers: '''Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'''
      gatewayresponse.header.Access-Control-Allow-Methods: '''OPTIONS,POST'''
      gatewayresponse.header.Access-Control-Allow-Origin: '''*'''
    statusCode: 500
x-amazon-apigateway-request-validators:
  Validate body:
    validateRequestBody: true
    validateRequestParameters: false
