Armor Secure Notes API

The secure notes resource allows users to securely store and manage sensitive information such as passwords, credentials, and other confidential data.

Documentation

Specifications

Other Resources

OpenAPI Specification

armor-secure-notes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Accounts Secure Notes API
  description: 'This API provides an interface for configuring and interacting with Armor''s account

    management functionality.


    Base URL: `https://accounts.api.secure-prod.services/`

    '
  version: 1.0.0
servers:
- url: https://accounts.api.secure-dev.services
  description: Development
- url: https://accounts.api.secure-stage.services
  description: Staging
- url: https://accounts.api.secure-prod.services
  description: Production
security:
- OAuth2: []
tags:
- name: Secure Notes
  description: 'The secure notes resource allows users to securely store and manage sensitive information such as passwords,

    credentials, and other confidential data.

    '
paths:
  /securenotes/securenotes:
    get:
      tags:
      - Secure Notes
      summary: Get all secure notes
      description: Retrieve a list of all secure notes for the account.
      operationId: getAllSecureNotes
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SecureNote'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      tags:
      - Secure Notes
      summary: Create a new secure note
      description: Create a new secure note with encrypted content.
      operationId: createSecureNote
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecureNoteCreateRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecureNoteDetail'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
  /securenotes/securenotes/{id}:
    get:
      tags:
      - Secure Notes
      summary: Get secure note by ID
      description: Retrieve a specific secure note by its ID. This endpoint does not include the encrypted content.
      operationId: getSecureNoteById
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The unique identifier of the secure note.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecureNoteDetail'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Secure Notes
      summary: Update secure note
      description: Update an existing secure note's details.
      operationId: updateSecureNote
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The unique identifier of the secure note.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecureNoteUpdateRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecureNoteDetail'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Secure Notes
      summary: Delete secure note
      description: Delete a secure note by its ID.
      operationId: deleteSecureNote
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The unique identifier of the secure note.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /securenotes/securenotes/{id}/reveal:
    get:
      tags:
      - Secure Notes
      summary: Reveal secure note content
      description: Retrieve a secure note with its encrypted content revealed.
      operationId: revealSecureNoteContent
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The unique identifier of the secure note.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecureNoteRevealResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
  schemas:
    SecureNoteUpdateRequest:
      type: object
      required:
      - displayName
      - isShared
      properties:
        displayName:
          type: string
          description: The updated display name of the secure note.
          example: Test123 Updated
        isShared:
          type: boolean
          description: Indicates if the secure note should be shared with others.
          example: true
    SecureNoteContent:
      type: object
      required:
      - secureNote
      properties:
        secureNote:
          type: string
          description: The encrypted content of the secure note.
    Message:
      type: object
      properties:
        message:
          type: string
          description: Error or informational message
    SecureNoteDetail:
      type: object
      required:
      - id
      - accountId
      - displayName
      - isEmployee
      - isShared
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          description: The unique identifier of the secure note.
          example: 6667d45e-73c5-42b1-986e-dffa5226e65b
        accountId:
          type: integer
          description: The account ID associated with the secure note.
          example: 2
        displayName:
          type: string
          description: The display name of the secure note.
          example: My Secure Note
        description:
          type: string
          description: The description of the secure note.
          example: Contains production credentials
        isEmployee:
          type: boolean
          description: Indicates if the secure note is associated with an employee.
          example: false
        isShared:
          type: boolean
          description: Indicates if the secure note is shared with others.
          example: false
        createdAt:
          type: string
          description: The timestamp when the secure note was created.
          example: '2025-12-06T23:53:31.000Z'
        updatedAt:
          type: string
          description: The timestamp when the secure note was last updated.
          example: '2025-12-07T00:27:48.000Z'
    SecureNoteRevealResult:
      type: object
      required:
      - id
      - accountId
      - displayName
      - isEmployee
      - isShared
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          description: The unique identifier of the secure note.
          example: 6667d45e-73c5-42b1-986e-dffa5226e65b
        accountId:
          type: integer
          description: The account ID associated with the secure note.
          example: 2
        displayName:
          type: string
          description: The display name of the secure note.
          example: My Secure Note
        description:
          type: string
          description: The description of the secure note.
          example: Contains production credentials
        isEmployee:
          type: boolean
          description: Indicates if the secure note is associated with an employee.
          example: false
        isShared:
          type: boolean
          description: Indicates if the secure note is shared with others.
          example: false
        createdAt:
          type: string
          description: The timestamp when the secure note was created.
          example: '2025-12-06T23:53:31.000Z'
        updatedAt:
          type: string
          description: The timestamp when the secure note was last updated.
          example: '2025-12-07T00:27:48.000Z'
        secureNote:
          $ref: '#/components/schemas/SecureNoteContent'
    SecureNoteCreateRequest:
      type: object
      required:
      - displayName
      - isShared
      properties:
        displayName:
          type: string
          description: The display name of the secure note.
          example: Test123
        description:
          type: string
          description: The description of the secure note.
          example: Test
        secureNote:
          $ref: '#/components/schemas/SecureNoteContent'
        isShared:
          type: boolean
          description: Indicates if the secure note should be shared with others.
          example: true
    SecureNote:
      type: object
      required:
      - id
      - accountId
      - displayName
      - isEmployee
      - isShared
      - createdAt
      properties:
        id:
          type: string
          description: The unique identifier of the secure note.
          example: 6667d45e-73c5-42b1-986e-dffa5226e65b
        accountId:
          type: integer
          description: The account ID associated with the secure note.
          example: 2
        displayName:
          type: string
          description: The display name of the secure note.
          example: My Secure Note
        description:
          type: string
          description: The description of the secure note.
          example: Contains production credentials
        isEmployee:
          type: boolean
          description: Indicates if the secure note is associated with an employee.
          example: false
        isShared:
          type: boolean
          description: Indicates if the secure note is shared with others.
          example: false
        createdAt:
          type: string
          description: The timestamp when the secure note was created.
          example: '2025-12-06T23:53:31.000Z'
  parameters:
    AccountContext:
      name: x-account-context
      in: header
      required: true
      description: Account context identifier
      schema:
        type: integer
      example: 4
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication with scopes
      flows:
        clientCredentials:
          tokenUrl: https://api.armor.com/auth/authorize
          scopes: {}