Airstack OnChainEvents API

The OnChainEvents API from Airstack — 3 operation(s) for onchainevents.

OpenAPI Specification

airstack-onchainevents-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Farcaster Hub REST Casts OnChainEvents API
  version: '1.0'
  description: "Perform basic queries of Farcaster state via the REST API of a Farcaster hub. See the [Farcaster docs](https://www.thehubble.xyz/docs/httpapi/httpapi.html) for more details. Some client libraries:\n  - [TypeScript](https://www.npmjs.com/package/@standard-crypto/farcaster-js-hub-rest)\n"
servers:
- url: https://hubs.airstack.xyz
security:
- ApiKeyAuth: []
tags:
- name: OnChainEvents
paths:
  /v1/onChainIdRegistryEventByAddress:
    get:
      security:
      - ApiKeyAuth: []
      tags:
      - OnChainEvents
      summary: Get an on chain ID Registry Event for a given Address
      operationId: GetOnChainIdRegistrationByAddress
      parameters:
      - name: address
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        description: The ETH address being requested
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnChainEventIdRegister'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /v1/onChainEventsByFid:
    get:
      security:
      - ApiKeyAuth: []
      tags:
      - OnChainEvents
      summary: Get a list of on-chain events provided by an FID
      operationId: ListOnChainEventsByFid
      parameters:
      - name: fid
        in: query
        required: true
        schema:
          type: integer
        description: The FID being requested
      - name: event_type
        in: query
        schema:
          $ref: '#/components/schemas/OnChainEventType'
        description: The numeric of string value of the event type being requested.
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/OnChainEvent'
                required:
                - events
        default:
          $ref: '#/components/responses/ErrorResponse'
  /v1/onChainSignersByFid:
    get:
      security:
      - ApiKeyAuth: []
      tags:
      - OnChainEvents
      summary: Get a list of signers provided by an FID
      description: '**Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead'
      operationId: ListOnChainSignersByFid
      parameters:
      - name: fid
        in: query
        required: true
        schema:
          type: integer
        description: The FID being requested
      - name: signer
        in: query
        schema:
          type: string
        description: The optional key of signer
        required: false
        example: '0x0852c07b5695ff94138b025e3f9b4788e06133f04e254f0ea0eb85a06e999cdd'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/OnChainEventSigner'
                - type: object
                  properties:
                    events:
                      type: array
                      items:
                        $ref: '#/components/schemas/OnChainEventSigner'
                  required:
                  - events
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    SignerEventBody:
      type: object
      properties:
        key:
          pattern: ^0x[a-fA-F0-9]{64}$
          type: string
        keyType:
          type: integer
          format: int64
        eventType:
          $ref: '#/components/schemas/SignerEventType'
        metadata:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
        metadataType:
          type: integer
          format: int64
      required:
      - key
      - keyType
      - eventType
      - metadata
      - metadataType
    OnChainEvent:
      oneOf:
      - $ref: '#/components/schemas/OnChainEventSigner'
      - $ref: '#/components/schemas/OnChainEventSignerMigrated'
      - $ref: '#/components/schemas/OnChainEventIdRegister'
      - $ref: '#/components/schemas/OnChainEventStorageRent'
      discriminator:
        propertyName: type
        mapping:
          EVENT_TYPE_SIGNER: '#/components/schemas/OnChainEventSigner'
          EVENT_TYPE_SIGNER_MIGRATED: '#/components/schemas/OnChainEventSignerMigrated'
          EVENT_TYPE_ID_REGISTER: '#/components/schemas/OnChainEventIdRegister'
          EVENT_TYPE_STORAGE_RENT: '#/components/schemas/OnChainEventStorageRent'
    OnChainEventSigner:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          signerEventBody:
            $ref: '#/components/schemas/SignerEventBody'
        required:
        - signerEventBody
    SignerMigratedEventBody:
      type: object
      properties:
        migratedAt:
          type: integer
          format: int64
      required:
      - migratedAt
    OnChainEventStorageRent:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          storageRentEventBody:
            $ref: '#/components/schemas/StorageRentEventBody'
        required:
        - storageRentEventBody
    OnChainEventIdRegister:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          idRegisterEventBody:
            $ref: '#/components/schemas/IdRegisterEventBody'
        required:
        - idRegisterEventBody
    IdRegisterEventType:
      type: string
      default: ID_REGISTER_EVENT_TYPE_REGISTER
      enum:
      - ID_REGISTER_EVENT_TYPE_REGISTER
      - ID_REGISTER_EVENT_TYPE_TRANSFER
      - ID_REGISTER_EVENT_TYPE_CHANGE_RECOVERY
    OnChainEventType:
      type: string
      default: EVENT_TYPE_SIGNER
      enum:
      - EVENT_TYPE_SIGNER
      - EVENT_TYPE_SIGNER_MIGRATED
      - EVENT_TYPE_ID_REGISTER
      - EVENT_TYPE_STORAGE_RENT
    OnChainEventSignerMigrated:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          signerMigratedEventBody:
            $ref: '#/components/schemas/SignerMigratedEventBody'
        required:
        - signerMigratedEventBody
    OnChainEventCommon:
      type: object
      properties:
        type:
          type: string
          example: EVENT_TYPE_SIGNER
        chainId:
          type: integer
        blockNumber:
          type: integer
        blockHash:
          type: string
          example: '0x75fbbb8b2a4ede67ac350e1b0503c6a152c0091bd8e3ef4a6927d58e088eae28'
        blockTimestamp:
          type: integer
        transactionHash:
          type: string
          example: '0x36ef79e6c460e6ae251908be13116ff0065960adb1ae032b4cc65a8352f28952'
        logIndex:
          type: integer
        txIndex:
          type: integer
        fid:
          type: integer
      required:
      - type
      - chainId
      - blockNumber
      - blockHash
      - blockTimestamp
      - transactionHash
      - logIndex
      - txIndex
      - fid
    ErrorResponse:
      required:
      - code
      - details
      - errCode
      - metadata
      - name
      - presentable
      type: object
      properties:
        errCode:
          type: string
        presentable:
          type: boolean
        name:
          type: string
        code:
          type: integer
        details:
          type: string
        metadata:
          required:
          - errcode
          type: object
          properties:
            errcode:
              type: array
              items:
                type: string
    IdRegisterEventBody:
      type: object
      properties:
        to:
          pattern: ^0x[a-fA-F0-9]*$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
        eventType:
          $ref: '#/components/schemas/IdRegisterEventType'
        from:
          pattern: ^0x[a-fA-F0-9]*$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
        recoveryAddress:
          pattern: ^0x[a-fA-F0-9]*$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
      required:
      - to
      - from
      - eventType
      - recoveryAddress
    SignerEventType:
      type: string
      default: SIGNER_EVENT_TYPE_ADD
      enum:
      - SIGNER_EVENT_TYPE_ADD
      - SIGNER_EVENT_TYPE_REMOVE
      - SIGNER_EVENT_TYPE_ADMIN_RESET
    StorageRentEventBody:
      type: object
      properties:
        payer:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
        units:
          type: integer
          format: int64
        expiry:
          type: integer
          format: int64
      required:
      - payer
      - units
      - expiry
  responses:
    ErrorResponse:
      description: An unexpected error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-airstack-hubs