Data

Read-only endpoints to show your app's users, roles and activity in your own backend or admin panel. They only return data from the app that owns the token.

Send an access token in every request: Authorization: Bearer <accessToken>. Lists are paginated and errors follow the common format.


GET/api/app

Get the app

Returns your app's domain and the login widget configuration you set in the Dashboard: texts in each language, login providers, modules and their parameters. Without a custom configuration you get the default one.

Request

GET
/api/app
curl https://wss.block-auth.io/api/app \
  -H 'Authorization: Bearer your_access_token'

Response

{
  "success": true,
  "message": {
    "domain": "your-app.com",
    "config": {
      "content": {
        "title": { "en": "…", "es": "…" }
      },
      "google": { "enabled": true }
    },
    "modules": {
      "kyc": { "enabled": false, "mode": "none" }
    },
    "params": {}
  }
}

GET/api/user

Get a user

Returns the profile of one user who has signed into your app, with their roles.

Personal fields (name, document, email, phone, postal address, birth data…) are null unless your app requests them in the Dashboard and the user agreed to share them.

Query

  • Name
    address
    Type
    string
    Description

    The user's address, as you got it from the login.

Errors

L1 User not found if the address doesn't exist, and User not signed yet if it never signed into your app.

Request

GET
/api/user
curl 'https://wss.block-auth.io/api/user?address=0x7F85…46D8' \
  -H 'Authorization: Bearer your_access_token'

Response

{
  "success": true,
  "message": {
    "items": [
      {
        "address": "0x7F85…46D8",
        "did": "0x7F85…46D8",
        "alias": "alice",
        "firstname": null,
        "email": "alice@example.com",
        "roles": [
          { "slug": "acme-x7k2p9", "name": "Admin" }
        ]
      }
    ]
  }
}

GET/api/users

List users

Users who have signed into your app, newest first.

Query

  • Name
    page
    Type
    number
    Description

    Page to return, from 1. Default 1.

  • Name
    limit
    Type
    number
    Description

    Results per page, 1 to 100. Default 100.

  • Name
    search
    Type
    string
    Description

    Part of an address.

  • Name
    fromServices
    Type
    string
    Description

    Only users who logged in with these methods, separated by commas: blockauth, google, microsoft, metamask, phantom.

Each item

  • Name
    id
    Type
    number
    Description

    ID of the user in your app.

  • Name
    user_address
    Type
    string
    Description

    The user's address.

  • Name
    user_first_used_at
    Type
    string
    Description

    First login in your app (UTC).

  • Name
    user_last_used_at
    Type
    string
    Description

    Last login in your app (UTC).

  • Name
    user_total_txns
    Type
    number
    Description

    Number of operations of the user in your app.

  • Name
    user_services_names
    Type
    array
    Description

    Login methods the user has used.

  • Name
    roles
    Type
    array
    Description

    The user's roles, as { slug, name }.

Request

GET
/api/users
curl 'https://wss.block-auth.io/api/users?page=1&limit=20&fromServices=blockauth,google' \
  -H 'Authorization: Bearer your_access_token'

Response

{
  "success": true,
  "message": {
    "pages": 1,
    "total": 1,
    "items": [
      {
        "id": 42,
        "user_address": "0x7F85…46D8",
        "app_name": "My app",
        "user_total_txns": 12,
        "user_first_used_at": "2026-09-02T10:14:00.000Z",
        "user_last_used_at": "2026-11-10T08:31:00.000Z",
        "user_services_names": ["blockauth"],
        "roles": [
          { "app_user_id": 42, "rol_id": 3, "slug": "acme-x7k2p9", "name": "Admin" }
        ]
      }
    ]
  }
}

GET/api/roles

List roles

The roles you created in the Dashboard for your users. Use the slug in your code: the name is only for display. See Roles to use them in your UI.

Query

  • Name
    page
    Type
    number
    Description

    Page to return, from 1. Default 1.

  • Name
    limit
    Type
    number
    Description

    Results per page, 1 to 100. Default 100.

  • Name
    search
    Type
    string
    Description

    Part of the name, slug or description.

Request

GET
/api/roles
curl 'https://wss.block-auth.io/api/roles?page=1&limit=100' \
  -H 'Authorization: Bearer your_access_token'

Response

{
  "success": true,
  "message": {
    "pages": 1,
    "total": 1,
    "items": [
      {
        "id": 3,
        "slug": "acme-x7k2p9",
        "name": "Admin",
        "description": "Full access",
        "public": 0
      }
    ]
  }
}

GET/api/logs

List activity

Logins, logouts and other operations of your users in your app, newest first, with their state on the Block-Auth chain.

Query

  • Name
    page
    Type
    number
    Description

    Page to return, from 1. Default 1.

  • Name
    limit
    Type
    number
    Description

    Results per page, 1 to 100. Default 100.

  • Name
    methods[]
    Type
    string
    Description

    Only these operations, for example signin or signout. Repeat the parameter for several values.

  • Name
    states[]
    Type
    string
    Description

    Only these states: initial, pending, approved, cancelled. Repeat the parameter for several values.

  • Name
    fromServices
    Type
    string
    Description

    Only these login methods, separated by commas.

Each item

  • Name
    id
    Type
    number
    Description

    ID of the entry.

  • Name
    method
    Type
    string
    Description

    The operation, for example signin.

  • Name
    state
    Type
    string
    Description

    initial, pending, approved or cancelled.

  • Name
    hash
    Type
    string
    Description

    Transaction hash on the Block-Auth chain, when there is one. Look it up in the Explorer.

  • Name
    fromService
    Type
    string
    Description

    Login method used, for example blockauth.

  • Name
    created_at
    Type
    string
    Description

    When it happened (UTC).

Request

GET
/api/logs
curl -g 'https://wss.block-auth.io/api/logs?page=1&limit=20&methods[]=signin&states[]=approved' \
  -H 'Authorization: Bearer your_access_token'

Response

{
  "success": true,
  "message": {
    "pages": 1,
    "total": 1,
    "items": [
      {
        "id": 981,
        "method": "signin",
        "state": "approved",
        "hash": "0x5c1e…a07b",
        "block_number": 120345,
        "fromService": "blockauth",
        "app_name": "My app",
        "app_domain": "your-app.com",
        "created_at": "2026-11-10T08:31:00.000Z"
      }
    ]
  }
}