Unlock Protocol Receipts API

The Receipts API from Unlock Protocol — 4 operation(s) for receipts.

Operations 6

GET /v2/receipts/all/{network}/{lockAddress} #
POST /v2/receipts/all/{network}/{lockAddress} #
GET /v2/receipts/download/{network}/{lockAddress} #
GET /v2/receipts/{network}/{lockAddress}/all #
GET /v2/receipts/{network}/{lockAddress}/{hash} #
POST /v2/receipts/{network}/{lockAddress}/{hash} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unlock-protocol-receipts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unlock-protocol-receipts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unlock Locksmith Applications Receipts API
  version: '2'
  description: Locksmith provides backend functionality for enabling ticketing, metadata storage, and notification hooks.
  license:
    name: MIT
servers:
- url: https://locksmith.unlock-protocol.com
  description: Production Server
- url: https://staging-locksmith.unlock-protocol.com
  description: Staging Server
tags:
- name: Receipts
paths:
  /v2/receipts/all/{network}/{lockAddress}:
    get:
      operationId: getReceiptsStatus
      security:
      - User: []
      description: Retrieve the status of receipt generation for a lock.
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      responses:
        200:
          description: Successfully retrieved receipt generation status.
          content:
            application/json:
              schema:
                type: object
                required:
                - result
                - createdAt
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        payload:
                          type: object
                          properties:
                            status:
                              type: string
                              enum:
                              - pending
                              - success
                              - failed
                            key:
                              type: string
                            result:
                              type: array
                              items:
                                type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
        400:
          description: Bad request.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
        404:
          description: No receipt generation status found.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
      tags:
      - Receipts
    post:
      operationId: createDownloadReceiptsRequest
      security:
      - User: []
      description: Request the creation of a ZIP file containing all receipts for a lock.
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      responses:
        200:
          description: Receipt generation initiated or already pending.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - pending
        400:
          description: Bad request.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
      tags:
      - Receipts
  /v2/receipts/download/{network}/{lockAddress}:
    get:
      operationId: downloadReceipts
      security:
      - User: []
      description: Download the ZIP file containing all receipts for a lock.
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      responses:
        200:
          description: Successfully downloaded the ZIP file.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        400:
          description: Bad request.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
        404:
          description: ZIP file not found or not generated.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
      tags:
      - Receipts
  /v2/receipts/{network}/{lockAddress}/all:
    get:
      operationId: getReceipts
      security:
      - User: []
      description: Get all receipts for a lock
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      responses:
        200:
          description: Successfully retrieved receipts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        receiptNumber:
                          type: string
                        timestamp:
                          type: string
                        sender:
                          type: string
                        payer:
                          type: string
                        recipient:
                          type: string
                        lockAddress:
                          type: string
                        tokenAddress:
                          type: string
                        gasTotal:
                          type: string
                        amountTransferred:
                          type: string
                        network:
                          type: number
                        supplierAddress:
                          type: string
        500:
          description: Failed to retrieve receipt details.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
        401:
          $ref: '#/components/responses/401.NotAuthenticated'
        404:
          description: Impossible to retrieve receipt details.
      tags:
      - Receipts
  /v2/receipts/{network}/{lockAddress}/{hash}:
    get:
      operationId: getReceipt
      security:
      - User: []
      description: Get receipt details
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      - $ref: '#/components/parameters/Hash'
      responses:
        200:
          description: Successfully receipt details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  purchaser:
                    type: object
                    properties:
                      email:
                        type: string
                      fullname:
                        type: string
                      businessName:
                        type: string
                      addressLine1:
                        type: string
                      addressLine2:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                      country:
                        type: string
                  supplier:
                    type: object
                    properties:
                      supplierName:
                        type: string
                      vat:
                        type: string
                      servicePerformed:
                        type: string
                      addressLine1:
                        type: string
                      addressLine2:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      zip:
                        type: string
                      country:
                        type: string
                  receipt:
                    type: object
                    properties:
                      id:
                        type: string
                      timestamp:
                        type: number
                      sender:
                        type: string
                      payer:
                        type: string
                      recipient:
                        type: string
                      lockAddress:
                        type: string
                      tokenAddress:
                        type: string
                      gasTotal:
                        type: number
                      amountTransferred:
                        type: number
        500:
          description: Failed to retrieve receipt details.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
        401:
          $ref: '#/components/responses/401.NotAuthenticated'
        404:
          description: Impossible to retrieve receipt details.
      tags:
      - Receipts
    post:
      operationId: saveReceipt
      security:
      - User: []
      description: Create purchaser details
      parameters:
      - $ref: '#/components/parameters/Network'
      - $ref: '#/components/parameters/LockAddress'
      - $ref: '#/components/parameters/Hash'
      responses:
        200:
          description: Successfully creates purchaser details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  fullname:
                    type: string
                  businessName:
                    type: string
                  addressLine1:
                    type: string
                  addressLine2:
                    type: string
                  city:
                    type: string
                  state:
                    type: string
                  zip:
                    type: string
                  country:
                    type: string
        500:
          description: Failed to update or create purchaser details.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
        401:
          $ref: '#/components/responses/401.NotAuthenticated'
      tags:
      - Receipts
components:
  parameters:
    Hash:
      in: path
      name: hash
      required: true
      description: Hash
      schema:
        type: string
    LockAddress:
      in: path
      name: lockAddress
      required: true
      description: Lock address.
      schema:
        type: string
    Network:
      in: path
      name: network
      required: true
      description: Network id.
      schema:
        type: integer
  responses:
    401.NotAuthenticated:
      description: User is not authenticated.
      content:
        application:
          schema:
            $ref: '#/components/schemas/GenericServerError'
  schemas:
    GenericServerError:
      type: object
      properties:
        message:
          type: string
          default: There was an error in fullfiling the request.
  securitySchemes:
    User:
      type: http
      scheme: bearer
      bearerFormat: JWT
    Application:
      type: apiKey
      name: api-key
      in: query