openapi: 3.0.1 info: title: Pismo Accounts Events API description: Specification of the Pismo cloud-native issuer-processing and core-banking platform API. Covers accounts, customers, cards, authorizations, transactions and statements, programs, and event/webhook configuration. Pismo is a Visa-owned platform (acquired January 2024). Authentication uses OAuth2 client-credentials to obtain a Bearer access token; account-scoped endpoints additionally require an account-specific token that encodes a Pismo account ID. termsOfService: https://www.pismo.io contact: name: Pismo Developer Support url: https://developers.pismo.io version: '1.0' servers: - url: https://api.pismo.io description: Production - url: https://sandbox.pismolabs.io description: Sandbox security: - bearerAuth: [] tags: - name: Events description: Client webhook registration for the Pismo event stream. paths: /webhooks/v1/webhooks: post: operationId: createWebhook tags: - Events summary: Register client webhook description: Registers a client webhook endpoint to receive events from the Pismo Kafka-backed event stream. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '201': description: Webhook registered. content: application/json: schema: $ref: '#/components/schemas/Webhook' get: operationId: listWebhooks tags: - Events summary: List client webhooks responses: '200': description: List of webhooks. content: application/json: schema: type: array items: $ref: '#/components/schemas/Webhook' components: schemas: Webhook: type: object properties: id: type: string url: type: string format: uri event_types: type: array items: type: string status: type: string created_at: type: string format: date-time CreateWebhookRequest: type: object required: - url - event_types properties: url: type: string format: uri event_types: type: array items: type: string example: - account-created - authorization-event - statement-closed description: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'OAuth2 client-credentials access token obtained from POST /passport/v2/oauth/token. Pass as `Authorization: Bearer `. Account-scoped endpoints require an account-specific token encoded with a Pismo account ID.' oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.pismo.io/passport/v2/oauth/token scopes: {}