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