Resource Endpoints

Groups

The group endpoint allows you to return a list of your groups along with the group ID, name, and group type.

GET client-api/v1/groups

Request

There are no additional parameters.

Response

Schema

Root Array.

Key Type Description
id String The ID of the visitor group.
name String The name of the visitor group.
type String The visitor group’s type.

Example

[
  {
    "id": 1, 
    "name": "Visitors",    
    "type": "non-returning"  
  },
  {
    "id": 2,
    "name": "Employees",
    "type": "returning"
  }, 
  {
    "id": 3, 
    "name": "Deliveries",
    "type": "delivery"
  }
]

Errors

There are no parameters for this resource so errors are limited to internal server errors or not found (404) errors.

Groups / Members

The group member's endpoint allows you to pull down a list of returning visitors for a specific group. The data is paginated for up to 200 members per page. Each member describes key information such as personal fields, permissions, last in and out and more.

To locate your group id, go to https://my.signinapp.com/manage and click into the Group you wish to request data for. The group id will be visible in the URL after /group.

GET client-api/v1/groups/<group_id>/members

Request

There are no additional parameters.

Response

The response returned from the group members endpoint is paginated. Use the links.next to request subsequent pages of data. On the final page, the links.next will have a null value.

Schema

Root Object

Key Type Description
links Object Key values of links to other paginated history results for this query.
meta Object Information about the result set.
data Array A list of returning visitor resources.

Links Object Pagination links.

Key Type Description
first String First page URL.
last String Last page URL.
prev String Null Previous page URL.
next String Null Next page URL.

Meta Object

Key Type Description
current_page Number The current requested page number.
from Number From record position.
path String Request URL.
per_page Number Number of records returned per page.
to Number To record position.

Example

{
  "links": {
    "first": "https://example.signinapp.com/client-api/v1/groups/123/members?page=1",
    "last": "https://example.signinapp.com/client-api/v1/groups/123/members?page=2",
    "prev": null,
    "next": "https://example.signinapp.com/client-api/v1/groups/123/members?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "https://example.signinapp.com/client-api/v1/groups/123/members",
    "per_page": 200,
    "to": 200
  },
  "data": [
    {
      "id": 456,
      "group_id": 123,
      "site_id": null,
      "qr_code": null,
      "personal_fields": {},
      "photo_url": "https://cdn.host.net/photos/n23KjhFh3j2h42399AL.jpg",
      "last_in": "2020-02-06T17:46:00Z",
      "last_out": "2020-02-07T09:13:25Z",
      "status": "signed_out",
      "permissions": {
        "can_access_firelist": true,
        "can_pre_reg": false,
        "can_mobile_sign_in": true,
        "can_view_sign_in_history": false,
        "can_auto_sign_in": false,
        "can_access_today": false
      }
    },
    {
      "..."
    }
  ]
}

Errors

Beyond internal server errors, the following are likely response types.

Code Description
404 Either the specified resource, or one of the parameters does not exist. Check the group id.
422 A validation error occurred. This is likely to be the selected group is not of type returning.

Sites / History

The History endpoint allows you to build and automate your own reports for each site. By specifying a start and end date no more than 92 days apart, you can request all sign in/out activity for standard visitors and repeat visitors such as staff. These results can further be filtered by group or a specific group member if required.

To locate your site id, go to https://my.signinapp.com/manage and click into the Site you wish to request data for. The site id will be visible in the URL after /site.

GET client-api/v1/sites/<site_id>/history

Request

Key Type Required Description
date_from String true The date to search the history from. Expected format is ISO-8601
date_to String true The date to search the history until. Expected format is ISO-8601
group_id Number false The ID of a visitor group to filter the history by.
returning_visitor_id Number false The ID of a returning visitor to filter the history by.

Date range

The date range for the history endpoint up to a maximum of 92 days.

Response

The response returned from the history endpoint is paginated. Use the links.next to request subsequent pages of data. On the final page, the links.next will have a null value.

Schema

Root Object

Key Type Description
links Object Key values of links to other paginated history results for this query.
meta Object Information about the result set.
data Array A list of visitor resources.

Links Object Pagination links.

Key Type Description
first String First page URL.
last Null Last page URL. This is not used and will always be null.
prev String Null Previous page URL.
next String Null Next page URL.

Meta Object

Key Type Description
current_page Number The current requested page number.
from Number From record position.
path String Request URL.
per_page Number Number of records returned per page.
to Number To record position.

Example

{
  "links": {
    "first": "https://example.signinapp.com/client-api/v1/sites/123/history?date_from=2020-01-01T00%3A00%3A00&date_to=2020-02-29T23%3A59%3A59&page=1",
    "last": null,
    "prev": null,
    "next": "https://example.signinapp.com/client-api/v1/sites/123/history?date_from=2020-01-01T00%3A00%3A00&date_to=2020-02-29T23%3A59%3A59&page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "https://example.signinapp.com/client-api/v1/sites/123/history",
    "per_page": 30,
    "to": 30
  },
  "data": [
    {
      "id": 456,
      "returning_visitor_id": null,
      "name": "Jane Doe",
      "photo_url": null,
      "badge_url": null,
      "status": "signed_out",
      "in_datetime": "2020-02-06T17:46:00Z",
      "out_datetime": "2020-02-07T09:13:25Z",
      "expected_datetime": null,
      "additional_fields": {
        "Visiting": "John Doe"
      },
      "personal_fields": []
    },
    {
      "..."
    }
  ]
}

Errors

Beyond internal server errors, the following are likely response types.

Code Description
404 Either the specified resource, or one of the parameters does not exist.
422 A validation error occurred. Check the inputted value against the request parameters description.

Sites / Today

The Today endpoint allows you to build a live view of who's signed in to your site. It also returns a list of pre-registered guests. Sign in activity is grouped, making it easy to build a dashboard for a specific visitor group, show upcoming visitors or highlight the most recent sign in on your digital signage.

To locate your site id, go to https://my.signinapp.com/manage and click into the Site you wish to request data for. The site id will be visible in the URL after /site.

GET client-api/v1/sites/<site_id>/today

Request

No required or optional parameters.

Response

Schema

Root Array. A list of group resources.

[
  {"..."},
  {"..."}
]

Example

[{
  "id": 456,
  "name": "Visitors",
  "type": "non-returning",
  "visitors": []
},
{
  "id": 654,
  "name": "Staff",
  "type": "returning",
  "visitors": [
    {
      "id": 789,
      "returning_visitor_id": 987,
      "name": "John Smith",
      "photo_url": "https://example.com/path/to/image",
      "badge_url": null,
      "status": "signed_in",
      "in_datetime": "2019-12-12T12:12:12Z",
      "out_datetime": null,
      "expected_datetime": null,
      "additional_fields": {
        "Company": "Acme Co",
        "Invite Email": "john.smith@example.com"
      },
      "personal_fields": {
        "name": "John Smith",
        "email": "john.smith@example.com",
        "mobile": "",
        "role": "Manager"
      }
    }
  ]
}]

Errors

There are no parameters for this resource so errors are limited to internal server errors or not found (404) errors.

Spaces / Bookings

The Spaces endpoint allows you to build your own reports for Spaces bookings. By specifying a start and end date no more than 60 days apart, you can request all bookings during that period. These results can then be filtered by space, zone, and category.

To locate your site id, go to https://my.signinapp.com/manage and click on the Site you wish to request data for. The site id will be visible in the URL after /site.

GET client-api/v1/spaces/<site_id>/bookings

Request

Key Type Required Description
filter[date_between] String true The date range to search the bookings between. Expected format is ISO-8601
filter[site_id] Number true The ID of the site to filter the history by.
filter[returning_visitor_id] Number false The ID of a returning visitor to filter the history by.
filter[space_id] String false The string ID of a specific space
filter[zone_id] String false The string ID of a specific zone

Filter

With the Spaces booking endpoint you need to use the Filter option to set the timeframe of the API call or to filter with additional perameters. The format for this is ?filter[] for the first filter and then &filter[] for any additional filters. The request key above goes inside the square brackets. For example:

?filter[date_between]=2023-05-01,2023-05-31&filter[returning_visitor_id]=6462197

This request ould return bookings from the 1st of May 2023 until the 31st May 2023 for the visitor with the ID of 6462197.

Locating Space and Zone IDs

If you'd like to include Space or Zone IDs in your API call you can find these from the Sign In App portal. Click the Spaces tab then select either the Space or Zone from the list on the left side of the screen. The Space or Zone ID is the alphanumerical value at the end of the URL.

Screenshot of portal showing geofence setup

Response

The response returned from the spaces endpoint is paginated. Use the links.next to request subsequent pages of data. On the final page, the links.next will have a null value.

Schema

Root Object

Key Type Description
links Object Key values of links to other paginated history results for this query.
meta Object Information about the result set.
data Array A list of visitor resources.

Links Object Pagination links.

Key Type Description
first String First page URL.
last Null Last page URL. This is not used and will always be null.
prev String Null Previous page URL.
next String Null Next page URL.

Meta Object

Key Type Description
current_page Number The current requested page number.
from Number From record position.
path String Request URL.
per_page Number Number of records returned per page.
to Number To record position.

Example

{
    "data": [
        {
            "id": 1201999,
            "site_space_id": 23156,
            "returning_visitor": {
                "id": 2935520,
                "name": "Joe Bloggs",
                "photo_url": null
            },
            "space": {
                "id": "MTHUFKkBMj",
                "name": "Desk 1",
                "photo": null,
                "category": "desk",
                "description": null,
                "capacity": 1,
                "zones": [
                    {
                        "name": "Floor 1"
                    }
                ]
            },
            "start_date": "2022-11-21T17:00:00Z",
            "end_date": "2022-11-21T18:00:00Z",
            "occupancy": 1,
            "note": null
        }

Errors

Code Description
404 Either the specified resource, or one of the parameters does not exist. Check the group id.
422 A validation error occurred. This is likely to be the selected group is not of type returning.

© 2024 Sign In App Ltd