Algorand private API

The private API from Algorand — 7 operation(s) for private.

OpenAPI Specification

algorand-private-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  contact:
    email: contact@algorand.com
    name: algorand
    url: https://www.algorand.com/get-in-touch/contact
  description: API endpoint for algod operations.
  title: Algod REST API. common private API
  version: 0.0.1
servers:
- url: http://localhost/
- url: https://localhost/
security:
- api_key: []
tags:
- name: private
paths:
  /debug/settings/config:
    get:
      description: Returns the merged (defaults + overrides) config file in json.
      operationId: GetConfig
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The merged config file in json.
        default:
          content: {}
          description: Unknown Error
      summary: Gets the merged config file.
      tags:
      - private
  /debug/settings/pprof:
    get:
      description: Retrieves the current settings for blocking and mutex profiles
      operationId: GetDebugSettingsProf
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebugSettingsProf'
          description: DebugPprof is the response to the /debug/extra/pprof endpoint
      tags:
      - private
    put:
      description: Enables blocking and mutex profiles, and returns the old settings
      operationId: PutDebugSettingsProf
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebugSettingsProf'
          description: DebugPprof is the response to the /debug/extra/pprof endpoint
      tags:
      - private
  /v2/catchup/{catchpoint}:
    delete:
      description: Given a catchpoint, it aborts catching up to this catchpoint
      operationId: AbortCatchup
      parameters:
      - description: A catch point
        in: path
        name: catchpoint
        required: true
        schema:
          format: catchpoint
          pattern: '[0-9]{1,10}#[A-Z0-9]{1,53}'
          type: string
          x-algorand-format: Catchpoint String
        x-algorand-format: Catchpoint String
      responses:
        '200':
          content:
            application/json:
              schema:
                description: An catchpoint abort response.
                properties:
                  catchup-message:
                    description: Catchup abort response string
                    type: string
                required:
                - catchup-message
                type: object
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Aborts a catchpoint catchup.
      tags:
      - private
    post:
      description: Given a catchpoint, it starts catching up to this catchpoint
      operationId: StartCatchup
      parameters:
      - description: A catch point
        in: path
        name: catchpoint
        required: true
        schema:
          format: catchpoint
          pattern: '[0-9]{1,10}#[A-Z0-9]{1,53}'
          type: string
          x-algorand-format: Catchpoint String
        x-algorand-format: Catchpoint String
      - description: Specify the minimum number of blocks which the ledger must be advanced by in order to start the catchup. This is useful for simplifying tools which support fast catchup, they can run the catchup unconditionally and the node will skip the catchup if it is not needed.
        in: query
        name: min
        schema:
          type: integer
          x-go-type: basics.Round
        x-go-type: basics.Round
      responses:
        '200':
          content:
            application/json:
              schema:
                description: An catchpoint start response.
                properties:
                  catchup-message:
                    description: Catchup start response string
                    type: string
                required:
                - catchup-message
                type: object
        '201':
          content:
            application/json:
              schema:
                description: An catchpoint start response.
                properties:
                  catchup-message:
                    description: Catchup start response string
                    type: string
                required:
                - catchup-message
                type: object
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '408':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request Timeout
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Starts a catchpoint catchup.
      tags:
      - private
  /v2/participation:
    get:
      description: Return a list of participation keys
      operationId: GetParticipationKeys
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ParticipationKey'
                type: array
          description: A list of participation keys
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Participation Key Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Return a list of participation keys
      tags:
      - private
    post:
      operationId: AddParticipationKey
      requestBody:
        content:
          application/msgpack:
            schema:
              format: binary
              type: string
        description: The participation key to add to the node
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  partId:
                    description: encoding of the participation ID.
                    type: string
                required:
                - partId
                type: object
          description: Participation ID of the submission
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Participation Key Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Temporarily Unavailable
        default:
          content: {}
          description: Unknown Error
      summary: Add a participation key to the node
      tags:
      - private
      x-codegen-request-body-name: participationkey
  /v2/participation/generate/{address}:
    post:
      operationId: GenerateParticipationKeys
      parameters:
      - description: An account public key.
        in: path
        name: address
        required: true
        schema:
          pattern: '[A-Z0-9]{58}'
          type: string
          x-go-type: basics.Address
        x-go-type: basics.Address
      - description: Key dilution for two-level participation keys (defaults to sqrt of validity window).
        in: query
        name: dilution
        schema:
          format: uint64
          type: integer
      - description: First round for participation key.
        in: query
        name: first
        required: true
        schema:
          format: uint64
          type: integer
          x-go-type: basics.Round
        x-go-type: basics.Round
      - description: Last round for participation key.
        in: query
        name: last
        required: true
        schema:
          format: uint64
          type: integer
          x-go-type: basics.Round
        x-go-type: basics.Round
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: An empty JSON object is returned if the generation process was started. Currently no status is available.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Temporarily Unavailable
        default:
          content: {}
          description: Unknown Error
      summary: Generate and install participation keys to the node.
      tags:
      - private
  /v2/participation/{participation-id}:
    delete:
      description: Delete a given participation key by ID
      operationId: DeleteParticipationKeyByID
      parameters:
      - in: path
        name: participation-id
        required: true
        schema:
          type: string
      responses:
        '200':
          content: {}
          description: Participation key got deleted by ID
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Participation Key Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Delete a given participation key by ID
      tags:
      - private
    get:
      description: Given a participation ID, return information about that participation key
      operationId: GetParticipationKeyByID
      parameters:
      - in: path
        name: participation-id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipationKey'
          description: A detailed description of a participation ID
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Participation Key Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Get participation key info given a participation ID
      tags:
      - private
    post:
      description: Given a participation ID, append state proof keys to a particular set of participation keys
      operationId: AppendKeys
      parameters:
      - in: path
        name: participation-id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/msgpack:
            schema:
              format: binary
              type: string
        description: The state proof keys to add to an existing participation ID
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipationKey'
          description: A detailed description of a participation ID
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid API Token
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Participation Key Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Error
        default:
          content: {}
          description: Unknown Error
      summary: Append state proof keys to a participation key
      tags:
      - private
      x-codegen-request-body-name: keymap
  /v2/shutdown:
    post:
      description: Special management endpoint to shutdown the node. Optionally provide a timeout parameter to indicate that the node should begin shutting down after a number of seconds.
      operationId: ShutdownNode
      parameters:
      - in: query
        name: timeout
        schema:
          default: 0
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
      tags:
      - private
components:
  schemas:
    ParticipationKey:
      description: Represents a participation key used by the node.
      properties:
        address:
          description: Address the key was generated for.
          type: string
          x-algorand-format: Address
        effective-first-valid:
          description: When registered, this is the first round it may be used.
          type: integer
          x-algorand-format: uint64
          x-go-type: basics.Round
        effective-last-valid:
          description: When registered, this is the last round it may be used.
          type: integer
          x-algorand-format: uint64
          x-go-type: basics.Round
        id:
          description: The key's ParticipationID.
          type: string
        key:
          $ref: '#/components/schemas/AccountParticipation'
        last-block-proposal:
          description: Round when this key was last used to propose a block.
          type: integer
          x-go-type: basics.Round
        last-state-proof:
          description: Round when this key was last used to generate a state proof.
          type: integer
          x-go-type: basics.Round
        last-vote:
          description: Round when this key was last used to vote.
          type: integer
          x-go-type: basics.Round
      required:
      - address
      - id
      - key
      type: object
    ErrorResponse:
      description: An error response with optional data field.
      properties:
        data:
          properties: {}
          type: object
        message:
          type: string
      required:
      - message
      type: object
    DebugSettingsProf:
      description: algod mutex and blocking profiling state.
      properties:
        block-rate:
          description: The rate of blocking events. The profiler aims to sample an average of one blocking event per rate nanoseconds spent blocked. To turn off profiling entirely, pass rate 0.
          example: 1000
          format: uint64
          type: integer
        mutex-rate:
          description: The rate of mutex events. On average 1/rate events are reported. To turn off profiling entirely, pass rate 0
          example: 1000
          format: uint64
          type: integer
      title: algod mutex and blocking profiling state.
      type: object
    AccountParticipation:
      description: AccountParticipation describes the parameters used by this account in consensus protocol.
      properties:
        selection-participation-key:
          description: \[sel\] Selection public key (if any) currently registered for this round.
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
        state-proof-key:
          description: \[stprf\] Root of the state proof key (if any)
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
        vote-first-valid:
          description: \[voteFst\] First round for which this participation is valid.
          type: integer
          x-go-type: basics.Round
        vote-key-dilution:
          description: \[voteKD\] Number of subkeys in each batch of participation keys.
          type: integer
          x-go-type: uint64
        vote-last-valid:
          description: \[voteLst\] Last round for which this participation is valid.
          type: integer
          x-go-type: basics.Round
        vote-participation-key:
          description: \[vote\] root participation public key (if any) currently registered for this round.
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
      required:
      - selection-participation-key
      - vote-first-valid
      - vote-key-dilution
      - vote-last-valid
      - vote-participation-key
      type: object
  securitySchemes:
    api_key:
      description: Generated header parameter. This token can be generated using the Goal command line tool. Example value ='b7e384d0317b8050ce45900a94a1931e28540e1f69b2d242b424659c341b4697'
      in: header
      name: X-Algo-API-Token
      type: apiKey
x-original-swagger-version: '2.0'