Simple In/Out API v4 Documentation

Welcome to the Simple In/Out API! You can use our API to access Simple In/Out data. You can request both read and write access.

The Simple In/Out v4 API is a RESTful (mostly) API protected by OAuth 2.

Expansions

Some of our APIs allow you to include additional information. This saves on API calls, as you can retrieve related information in the primary call and avoid additional requests.

When an API supports including additional information, it does so via the expand query parameter. This is a comma-delimited list of resources to include. We support expansions via embedding directly into the payload.

The Meta object

Most API payloads include a meta object to provide additional details about the requested resource(s). This includes paging most often, and sometimes additional information about the user making the request. For some payloads there may be additional items in the meta.

Here’s an example of a meta object

{"meta": {
  "paging": {
    "page": 1,
    "page_size": 25,
    "page_count": 2,
    "count": 47,
    "previous_page": null,
    "next_page": 2,
    "first_href": "https://www.simpleinout.com/api/v4/beacons",
    "last_href": "https://www.simpleinout.com/api/v4/beacons?page=2",
    "previous_href": null,
    "next_href": "https://www.simpleinout.com/api/v4/beacons?page=2"
  },
  "last_updated_at": {
    "announcements": 1435258926,
    "beacons": 1435250484,
    "favorites": 1437151284,
    "fences": 1436546484,
    "groups": 1436287284,
    "networks": 1436287284,
    "settings": 1439916084
  },
  emergency: nil
}}

Pagination

Pagination occurs when requesting multiple objects. Information about this appears in the meta object.

Name Description
page the page number currently being returned
page_size the number of results per page
page_count the total number of pages available
count the total number of results
previous_page the number of the previous page
next_page the number of the next page
first_href the URL of the API call for the first page of results
last_href the URL of the API call for the last page of results
previous_href the URL of the API call for the page of results prior to the current page
next_href the URL of the API call for the page of results after the current page

Last Update At

The last_updated_at attribute in the meta object returns the epoch time indicating the last time certain resources have been updated. This applies to the authorized user’s company. By storing these dates, you can discover when resources have been updated without having to poll those resources on a regular basis.

If Modified Since and If None Match

Most of the GET requests to the API support the If-Modified-Since and If-None-Match headers. If these two headers are present, the GET request will only return a payload if the relevant data has been updated since the time specified in the If-Modified-Since header and the ETag in the If-None-Match header. If it has been updated since, the payload will be the same as usual. If the data has not been updated, the return will be empty with a HTTP status of 304 (Not Modified). The format of the time is in the HTTP specification, while the ETag should be the same as that returned when a request has been made previously.

When a GET API returns data, the Last-Modified header will be present providing the exact time it’s been modified. This date should be used for future If-Modified-Since requests. The ETag header will be present providing the hash value representing the returned payload. This hash should be used for future If-None-Match requests.

Range Searching

Some integer or date/time fields can be searched by using operators. This permits exact searches, as well as less than, greater than, or between. For these fields, you have an array of options.

  • For exact matches, simply include the value. Date/time fields use epoch time, so it’s almost impossible to get an exact match to the second. Examples are 18 or 1524168783.
  • For ranges based on a single value, you may prepend a symbol to the front of the value. The symbols <, >, <=, or >= are supported. Examples are <18 or >=1524168783.
  • For between range searches, the .. operator is used in between the two values. This includes the values on both ends, as well as those in between. Examples are 9..18 or 1523854800..1524459599.

Sorting

When requesting multiple objects, most of the time you’ll have some sorting options available. Sorting occurs by passing in the sort query parameter. The value is a comma-delimited string of fields in the order you wish them to be sorted. By default, all fields will sort in ascending fashion, but you can sort in descending fashion by including a - sign before the field. An example of this would be sort=name,-begin_at.

Errors

Error objects in Simple In/Out consist of three parts: code, message, and details.

  • code corresponds with those listed below. These provide context as to what type of error occurred.
  • message is an English plain-text reading of what happened. This should be used for further developer debugging, but should not be relied on to remain consistent over time. While these messages can be displayed to end-users, it is highly discouraged as they can change without notice and they are always going to be in English.
  • details provides an array of information in the case of validation failures. This will typically be populated with 5005 validation errors, though they also can appear with improperly formatted status updates (2002). The format of the objects in the array are key: value pairs, whereby key is the name of a field and value is one of a number of possible strings to indicated more specifically what was invalid with the input. Please note that while the key will typically be a parameter on the object, it can occasionally be base for errors that fail validation but don’t apply to a particular field.

An example of an error payload:

{
  "code": 5005,
  "message": "Validation Failure: Name can't be blank, UUID is invalid, Beacons exceed company limit of 100",
  "details": [
    { "name": "blank" },
    { "uuid": "invalid" },
    { "base": "greater_than" }
  ]
}

Error Codes

1002: Company is Disabled

Either the user’s company was on a trial and the trial has expired or the company has let their subscription to Simple In/Out expire. This error will present itself on almost all APIs and will return with the status code 403.


2002: Status Failure

The status update could not be completed.


3001: Device Cannot Follow Everyone and Specific Groups

This device is following everyone, so following users in a specific group is prohibited.


3002: Device Cannot Follow Everyone and Specific Users

This device is following everyone, so following a specific user is prohibited.


3003: You May Not Follow Yourself

A device isn’t allowed to follow the user who is also authenticated on the device.


5001: Bad Range

The integer or date value/range is invalid.


5002: Unknown Sort

The sort requested does not exist. The full message of this error will provide more explanation.


5003: Unknown Expansion

The expansion requested does not exist. The full message of this error will provide more explanation.


5005: Validation Failure

When attempting to create the object, some data was either missing or invalid. The full message of this error will provide more explanation.


5006: No Company Badge Salt

You’ve attempted to print badges for TimeClock, but the company has not created any badges.


5007: Parameters Missing

A required parameter for this API was missing.


5008: Array Required

A parameter which is required to be an array was passed something other than an array.


5009: Unknown Only

The only field requested does not exist. The full message of this error will provide more explanation.


5010: Invalid Float

The floating point number is invalid.


5011: Invalid SIO-Version Header

The format of the SIO-Version request header is invalid.


5012: Invalid JSON

The posted JSON body is invalid.


5013: Invalid Page Size of Zero

The page_size parameter cannot be zero.


5014: Invalid mime-type requested

An invalid mime-type was requested.


6001: Expired User Code

The user-facing device code that was attempted to authorize has expired.


6002: Invalid User Code

The user-facing device code that was attempted to authorize does not exist, and is therefore invalid.

Error Details

taken

The attribute is not unique

inclusion

The attribute is not in the list of acceptable values

invalid

The attribute is not valid

empty

The attribute cannot be empty

blank

The attribute cannot be blank

too_long

The attribute is too long

not_a_hex

The attribute is not a valid hex color code

not_a_number

The attribute is not a number

not_an_integer

The attribute is not an integer

greater_than

The attribute is greater than a predefined limit

greater_than_or_equal_to

The attribute is greater than or equal to a predefined limit

less_than

The attribute is less than a predefined floor

less_than_or_equal_to

The attribute is greater than or equal to a predefined floor

too_long

The attribute is longer than allowed

too_short

The attribute is shorter than allowed

Forbidden Requests (403)

When the user is authenticated, but doesn’t have the necessary permissions to perform an action, the server will respond with the status code of 403 and include the user’s privileges in the payload.

Example payload:

{
  "company": {
    "id": "1",
    "scheduled_statuses": true
  },
  "user": {
    "id": "5",
    "roles": {
      "name": "Regular User",
      "billing": false
      "followed_users": false,
      "reminders": false,
      "safeties": false,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": false,
      "manage_groups_and_memberships": false,
      "manage_member_announcements": false,
      "manage_others_archives": false,
      "manage_others_futures": false,
      "manage_others_status": false,
      "manage_own_archives": false,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": false,
      "view_user_board_updated_at": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "created_at": 1506268448,
      "updated_at": 1506269853
    }
  }
}

The privileges payload may not exist on all forbidden responses. In the cases when an error code is used, such as when a company is disabled, only the code and message will be returned.

Web Hooks

Web Hooks are a great way to be notified when something happens inside Simple In/Out. When you add a Web Hook URL to Simple In/Out, we’ll send a request to that URL with JSON in the body to tell you about things that have happened.

Currently, this applies to only three event types: status.new, status.schedule, and status.destroy, though many may be added in the future. It is strongly advised that you code against the type attribute on the root of the JSON object to avoid new event types being added in the future having unexpected impacts on your code.

The root JSON keys define the basics and out of the box are compatible with Slack’s incoming webhooks. This also means that the text with be formatted in Markdown. Within the data object is much of the information specific to Simple In/Out, including ids that can be used in combination with APIv4 to request further information.

{
  "username": "Bojack Horseman",
  "email": "bojack@simplymadeapps.com",
  "icon_url": "http://bojackhorseman.com/avatar.gif",
  "text": "*In*: In Hollywoo",
  "type": "status.new",
  "data": {
    "user_id": "34858",
    "status": "in",
    "comment": "In Hollywoo",
    "created_at": 1448046759,
    "admin": {
      "id": "2844", "name": "Princess Carolyn"
    },
    "application": {
      "id": "84774", "name": "Simple In/Out iOS"
    }
  }
}



Announcements

Create a announcement

Creates a new announcement. Once this announcement is created, it will appear in the company’s announcements within the Simple In/Out apps. Users must have a role that permits managing announcements to create announcements. Companies are limited to 100 announcements.

Punto de llegada

POST /api/v4/announcements

Parametros

Name Description
announcement[message] requerido (string) the name of the announcement
announcement[push] (boolean) whether this announcement should trigger a push notification to users, defaults to false
announcement[group_id] (string) restrict the announcement to a specific group, defaults to no restrictions
announcement[expires_at] (integer) the epoch time when the announcement should expire, defaults to no expiration
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user'

Solicitud

Ruta

POST /api/v4/announcements

Encabezados

Content-Type: application/json
Authorization: Bearer 8VVztnPsL5vD0UyRUJjoCO1-LnD3vrjq-knnxFU9Aio

Cuerpo

{
  "announcement": {
    "message": "Evacuate the building",
    "push": false,
    "group_id": "2295",
    "expires_at": 1763481950
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/announcements" -d '{"announcement":{"message":"Evacuate the building","push":false,"group_id":"2295","expires_at":1763481950}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 8VVztnPsL5vD0UyRUJjoCO1-LnD3vrjq-knnxFU9Aio"

Respuesta

Simulated Response

Campos de respuesta

Name Description
announcements (object) the newly created announcement attributes

Estado

201

Encabezados

ETag: W/"a7e529623fcc64204af764f6a2d241a9"

Cuerpo

{
  "announcements": {
    "id": "357",
    "group_id": "2295",
    "user_id": "47170",
    "message": "Evacuate the building",
    "push": false,
    "expires_at": 1763481950,
    "created_at": 1763395550,
    "updated_at": 1763395550
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1763395550,
      "beacons": 1761404750,
      "desktop_presences": 1759935950,
      "favorites": 1757084750,
      "fences": 1760281550,
      "groups": 1763395550,
      "networks": 1756566350,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Delete an announcement

Deletes an existing announcement. Users must have a role that permits managing the announcements to delete announcements.

Punto de llegada

DELETE /api/v4/announcements/:id

Solicitud

Ruta

DELETE /api/v4/announcements/358

Encabezados

Content-Type: application/json
Authorization: Bearer 7iEOf7Wsx6bMykDCXDFb3eQjzpS7sUAPFil1whDRNqU

cURL

curl "https://www.simpleinout.com/api/v4/announcements/358" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 7iEOf7Wsx6bMykDCXDFb3eQjzpS7sUAPFil1whDRNqU"

Respuesta

Simulated Response

Estado

204

List all announcements

Return a list of all the announcements belonging to the company.

Punto de llegada

GET /api/v4/announcements

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user'

Solicitud

Ruta

GET /api/v4/announcements

Encabezados

Content-Type: application/json
Authorization: Bearer -GLEgvUkQo0UjBhV0WbKKLVKBcf4IpWqYv3yzr4sa_w

cURL

curl -g "https://www.simpleinout.com/api/v4/announcements" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer -GLEgvUkQo0UjBhV0WbKKLVKBcf4IpWqYv3yzr4sa_w"

Respuesta

Simulated Response

Campos de respuesta

Name Description
announcements (array) an array of announcements

Estado

200

Encabezados

ETag: W/"d54a16a18c099f99044ef94b26202a80"
Last-Modified: Mon, 17 Nov 2025 16:05:50 GMT

Cuerpo

{
  "announcements": [
    {
      "id": "355",
      "group_id": null,
      "user_id": "47169",
      "message": "Optio iste magnam itaque.",
      "push": false,
      "expires_at": 1763481950,
      "created_at": 1763395550,
      "updated_at": 1763395550
    },
    {
      "id": "356",
      "group_id": null,
      "user_id": "47169",
      "message": "Nisi amet et deleniti.",
      "push": false,
      "expires_at": 1763481950,
      "created_at": 1763395550,
      "updated_at": 1763395550
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/announcements",
      "last_href": "http://example.org/api/v4/announcements",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1763395550,
      "beacons": 1762445150,
      "desktop_presences": 1759071950,
      "favorites": 1760713550,
      "fences": 1756825550,
      "groups": 1756825550,
      "networks": 1760627150,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Authentication

Authorization

Authorization is required to access the Simple In/Out API. This results in a HTTP 302 redirect to simpleinout.com. There, Simple In/Out will ask the user for their credentials and verify they wish to grant your application permission to act on their behalf. If they allow it, Simple In/Out will send a request to your redirect_uri with a code that you can use in the Authorization Code grant to have access and refresh tokens to access the API.

Punto de llegada

GET /oauth/authorize

Parametros

Name Description
response_type requerido (string) the type of authorization to use, in this case always 'code'
client_id requerido (string) your API client key
redirect_uri requerido (string) the URI to return the user to after authenticating, must match those registered with Simple In/Out
scope requerido (string) requested scope, either 'read' or 'write', by default 'read'
locale (string) the language for authorization. Available locales: en, en-au, en-ca, en-gb, de, es, fr, fr-ca. Defaults to 'en'

Solicitud

Ruta

GET /oauth/authorize?response_type=code&client_id=PLACE_YOUR_API_CLIENT_ID_HERE&redirect_uri=https%3A%2F%2Fwww.simplymadeapps.com%2Fredirect%2Furl&scope=write&locale=en

Encabezados

Content-Type: application/json

Parámetros de la consulta

response_type=code
client_id=PLACE_YOUR_API_CLIENT_ID_HERE
redirect_uri=https://www.simplymadeapps.com/redirect/url
scope=write
locale=en

cURL

curl -g "https://www.simpleinout.com/oauth/authorize?response_type=code&client_id=PLACE_YOUR_API_CLIENT_ID_HERE&redirect_uri=https%3A%2F%2Fwww.simplymadeapps.com%2Fredirect%2Furl&scope=write&locale=en" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Estado

302

Authorization (Device)

Authorization is required to access the Simple In/Out API. This API will produce everything needed to display a code and URL to the user to authorize a device. Once this API has returned, polling can begin to the Device Grant to discover the user’s information after they have authorized.

Punto de llegada

POST /oauth/authorize_device

Parametros

Name Description
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
scope requerido (string) requested scope, must be 'executive'

Solicitud

Ruta

POST /oauth/authorize_device

Encabezados

Content-Type: application/json

Cuerpo

{
  "client_id": "PLACE_YOUR_API_CLIENT_ID_HERE",
  "client_secret": "PLACE_YOUR_API_CLIENT_SECRET_HERE",
  "scope": "executive"
}

cURL

curl "https://www.simpleinout.com/oauth/authorize_device" -d '{"client_id":"PLACE_YOUR_API_CLIENT_ID_HERE","client_secret":"PLACE_YOUR_API_CLIENT_SECRET_HERE","scope":"executive"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
device_code (string) the private code used to poll within the Device Grant
expires_in (integer) the number of seconds until these codes will expire
interval (integer) the number of seconds between polling events, any developer polling faster than this will receive 'slow_down' errors
user_code (string) the public code to display to the user
verification_uri (string) the public URL to display to the user
verification_uri_complete (string) the public URL to use if generating a QR code

Estado

200

Encabezados

ETag: W/"360875af793e3a8375cc9d3f6d673cde"

Cuerpo

{
  "device_code": "JlnYeq_CIN-4C2Dd-Lpc6OL2uAbF3rNd_2w1B9ZbMDU",
  "user_code": "E6P6NTBI",
  "verification_uri": "http://example.org/code",
  "verification_uri_complete": "http://example.org/code?user_code=E6P6NTBI",
  "expires_in": 300,
  "interval": 5
}

Authorization Code grant

Authorization Code should be used for accessing the API on behalf of a particular user. This is useful for pulling information about the user, or customizing the return of some APIs by the user’s preference.

The first step here is to have your user authorize your app for use. To do this, send your user to our site as noted to the left, passing your client_id and your redirect_uri. We’ll handle asking for the user, authenticating they are who they say they are, and handling the authorization (asking the user for permission on your behalf).

Once your user successfully authorizes your application, they will be redirected back to you. In this response will be a code in the form of a query string. Use this code to request tokens from Simple In/Out. You’ll then receive an access token and refresh token.

Punto de llegada

POST /oauth/token

Parametros

Name Description
grant_type requerido (string) type of grant to use
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
code requerido (string) if using Authorization Code grant, this is the code that is returned from Simple In/Out
redirect_uri requerido (string) the URI to return the user to after authenticating, must match those registered with Simple In/Out
scope (string) requested scope, either 'read' or 'write', defaults to 'read'

Solicitud

Ruta

POST /oauth/token

Encabezados

Content-Type: application/json

Cuerpo

{
  "grant_type": "authorization_code",
  "client_id": "YOUR_API_CLIENT_ID",
  "client_secret": "YOUR_API_CLIENT_SECRET",
  "code": "BPR-qNvClpjoZnOk_M_c1-5KLEBZ-bRJhU9PMBRik9M",
  "redirect_uri": "https://www.simplymadeapps.com/redirect/url"
}

cURL

curl "https://www.simpleinout.com/oauth/token" -d '{"grant_type":"authorization_code","client_id":"YOUR_API_CLIENT_ID","client_secret":"YOUR_API_CLIENT_SECRET","code":"BPR-qNvClpjoZnOk_M_c1-5KLEBZ-bRJhU9PMBRik9M","redirect_uri":"https://www.simplymadeapps.com/redirect/url"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
access_token (string) the access token used to make API requests
refresh_token (string) used with the Refresh Token grant type to request a new token
token_type (string) identifies the type of token
expires_in (integer) length of time, in seconds, that the token will be honored
scope (string) the scope of the token, either 'read' or 'write'
created_at (integer) the time the token was issued
user (object) the authenticated user's id, company id, and role.

Estado

200

Encabezados

ETag: W/"f63ff4513ab1578c295bd42ca6f71331"

Cuerpo

{
  "access_token": "ujRXe7SS03TbPKKTs4NHYwGOSpqiZu_631TlKuwMwWE",
  "token_type": "Bearer",
  "expires_in": 7200,
  "refresh_token": "4cyotBdgeMunRg9B0tPzRwLlRR7Ui01m_wO94p3Gpnc",
  "scope": "write",
  "created_at": 1763395550,
  "user": {
    "id": "47186",
    "company_id": "22979",
    "roles": {
      "id": "101224",
      "name": "Administrator",
      "billing": true,
      "followed_users": true,
      "reminders": true,
      "safeties": true,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": true,
      "manage_member_announcements": false,
      "manage_groups_and_memberships": true,
      "manage_others_archives": true,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": true,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "view_user_board_updated_at": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "created_at": 1763395550,
      "updated_at": 1763395550
    }
  }
}

Client Credentials grant

Client Credentials should be used for accessing the API generally, not attached to a specific user. Only the create company API allows the Client Credentials grant type as it is the only one that doesn’t require a specific user. This grant type is available for Simply Made Apps clients only.

Punto de llegada

POST /oauth/token

Parametros

Name Description
grant_type requerido (string) type of grant to use, in this case 'client_credentials'
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
scope requerido (string) requested scope, required to be 'executive'

Solicitud

Ruta

POST /oauth/token

Encabezados

Content-Type: application/json

Cuerpo

{
  "grant_type": "client_credentials",
  "client_id": "YOUR_API_CLIENT_ID",
  "client_secret": "YOUR_API_CLIENT_SECRET",
  "scope": "executive"
}

cURL

curl "https://www.simpleinout.com/oauth/token" -d '{"grant_type":"client_credentials","client_id":"YOUR_API_CLIENT_ID","client_secret":"YOUR_API_CLIENT_SECRET","scope":"executive"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
access_token (string) the access token used to make API requests
token_type (string) identifies the type of token
expires_in (integer) length of time, in seconds, that the token will be honored
scope (string) the scope of the token, either 'read' or 'write'
created_at (integer) the time the token was issued
user (object) the authenticated user's id and role (always nil in this case)

Estado

200

Encabezados

ETag: W/"e0bd234c95debb68687e6f67787bc66d"

Cuerpo

{
  "access_token": "bceKz-tCumARzEMfaWlmjpEwmiwt2CG6tq2wXgh1VDU",
  "token_type": "Bearer",
  "expires_in": 7200,
  "scope": "executive",
  "created_at": 1763395550,
  "user": null
}

Device Code grant

Device Codes are used to generate API tokens for users based on codes displayed on devices (televisions, tablets). A private device code is required, which is not shown to the user, and the user will need to authorize via a user code that is smaller and displayed for them to enter into the Simple In/Out website. This grant type is available for Simply Made Apps clients only.

When successful, a status code of 200 will be returned along with tokens and information about the authorized user. When unsuccessful, a status code of 400 will be returned along with a JSON payload with an “error” key. The error key has several possible values.

  • authorization_pending is returned when the user hasn’t yet authorize this device code yet, but may in the future.
  • expired_token is returned when the user did not authorize and the device code is now expired (dead).
  • slow_down is returned when the developer is polling for a response faster than the agreed upon interval. Don’t do this.

Punto de llegada

POST /oauth/token

Parametros

Name Description
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
device_code requerido (string) private device_code to check
grant_type requerido (string) type of grant to use, in this case always 'urn:ietf:params:oauth:grant-type:device_code'

Solicitud

Ruta

POST /oauth/token

Encabezados

Content-Type: application/json

Cuerpo

{
  "client_id": "YOUR_API_CLIENT_ID",
  "client_secret": "YOUR_API_CLIENT_SECRET",
  "device_code": "2hv6n9ksm46Hwc9mpaT0WVDTdQ9dP6jm7nUyYWNpn0w",
  "grant_type": "urn:ietf:params:oauth:grant-type:device_code"
}

cURL

curl "https://www.simpleinout.com/oauth/token" -d '{"client_id":"YOUR_API_CLIENT_ID","client_secret":"YOUR_API_CLIENT_SECRET","device_code":"2hv6n9ksm46Hwc9mpaT0WVDTdQ9dP6jm7nUyYWNpn0w","grant_type":"urn:ietf:params:oauth:grant-type:device_code"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Sio-Version: 1.0.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
access_token (string) the access token used to make API requests
refresh_token (string) used with the Refresh Token grant type to request a new token
token_type (string) identifies the type of token
expires_in (integer) length of time, in seconds, that the token will be honored
scope (string) the scope of the token, either 'read' or 'write'
created_at (integer) the time the token was issued
user (object) the authenticated user's id and role.

Estado

200

Encabezados

ETag: W/"341e680d072adf06372f386ff63ef0e9"

Cuerpo

{
  "access_token": "yypBpshByh9No1f26YOqqsSujac7IFhbBlW0q8QA2DQ",
  "token_type": "Bearer",
  "expires_in": 7200,
  "refresh_token": "90__66lu4WJk1CfWdUSjbgV78bLZXqC0LRoYxiN6ZZA",
  "scope": "executive",
  "created_at": 1763395550,
  "user": {
    "id": "47185",
    "company_id": "22978",
    "roles": {
      "id": "101220",
      "name": "Administrator",
      "billing": true,
      "followed_users": true,
      "reminders": true,
      "safeties": true,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": true,
      "manage_member_announcements": false,
      "manage_groups_and_memberships": true,
      "manage_others_archives": true,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": true,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "view_user_board_updated_at": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "created_at": 1763395550,
      "updated_at": 1763395550
    }
  }
}

Password grant

Password should be used for accessing the API for a specific user. Our Password grant type accepts username (email) and password. This grant type is available for Simply Made Apps clients only.

Punto de llegada

POST /oauth/token

Parametros

Name Description
grant_type requerido (string) type of grant to use, in this case always 'password'
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
username requerido (string) the email address of your user
password requerido (string) ths password of your user
scope requerido (string) requested scope, always 'executive'

Solicitud

Ruta

POST /oauth/token

Encabezados

Content-Type: application/json

Cuerpo

{
  "grant_type": "password",
  "client_id": "YOUR_API_CLIENT_ID",
  "client_secret": "YOUR_API_CLIENT_SECRET",
  "username": "sterling@simplymadeapps.com",
  "password": "abcdef123456",
  "scope": "executive"
}

cURL

curl "https://www.simpleinout.com/oauth/token" -d '{"grant_type":"password","client_id":"YOUR_API_CLIENT_ID","client_secret":"YOUR_API_CLIENT_SECRET","username":"sterling@simplymadeapps.com","password":"abcdef123456","scope":"executive"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Sio-Version: 1.0.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
access_token (string) the access token used to make API requests
refresh_token (string) used with the Refresh Token grant type to request a new token
token_type (string) identifies the type of token
expires_in (integer) length of time, in seconds, that the token will be honored
scope (string) the scope of the token, either 'read' or 'write'
created_at (integer) the time the token was issued
user (object) the authenticated user's id and role.

Estado

200

Encabezados

ETag: W/"3d25a2e03969f1e221b1d36fd955945c"

Cuerpo

{
  "access_token": "KgkRA1yc4mDMEdaw07OshS4T2TT9dMP8ZM2yqQA46D8",
  "token_type": "Bearer",
  "expires_in": 7200,
  "refresh_token": "kRSRRXnd9aa2jQSNklcRvPBiErunpAQ2OL8hm3AAt4w",
  "scope": "executive",
  "created_at": 1763395550,
  "user": {
    "id": "47187",
    "company_id": "22980",
    "roles": {
      "id": "101228",
      "name": "Administrator",
      "billing": true,
      "followed_users": true,
      "reminders": true,
      "safeties": true,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": true,
      "manage_member_announcements": false,
      "manage_groups_and_memberships": true,
      "manage_others_archives": true,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": true,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "view_user_board_updated_at": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "created_at": 1763395550,
      "updated_at": 1763395550
    }
  }
}

Refresh Token grant

Refresh Token should be used to renew your access token in the event that it has expired. This is useful for regaining access without again having to as the user for credentials.

Punto de llegada

POST /oauth/token

Parametros

Name Description
grant_type requerido (string) type of grant to use, in this case always 'refresh_token'
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
refresh_token requerido (string) your refresh token

Solicitud

Ruta

POST /oauth/token

Encabezados

Content-Type: application/json

Cuerpo

{
  "grant_type": "refresh_token",
  "client_id": "YOUR_API_CLIENT_ID",
  "client_secret": "YOUR_API_CLIENT_SECRET",
  "refresh_token": "fw89p4ffjrlmj2adgwpxmdpua3klbmlv"
}

cURL

curl "https://www.simpleinout.com/oauth/token" -d '{"grant_type":"refresh_token","client_id":"YOUR_API_CLIENT_ID","client_secret":"YOUR_API_CLIENT_SECRET","refresh_token":"fw89p4ffjrlmj2adgwpxmdpua3klbmlv"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Campos de respuesta

Name Description
access_token (string) the access token used to make API requests
refresh_token (string) used with the Refresh Token grant type to request a new token
token_type (string) identifies the type of token
expires_in (integer) length of time, in seconds, that the token will be honored
scope (string) the scope of the token, either 'read' or 'write'
created_at (integer) the time the token was issued
user (object) the authenticated user's id and role.

Estado

200

Encabezados

ETag: W/"db835599e85054a443091cfba8cc2b7b"

Cuerpo

{
  "access_token": "r6AV_sMbxaJO0hjYfED4rjJJQyeHkHKQdfaFt-9Kggg",
  "token_type": "Bearer",
  "expires_in": 604800,
  "refresh_token": "vwNLqwtGbgyvKkgV3zF8SbUDXS635epZ5ytjjjRNo5w",
  "scope": "write",
  "created_at": 1763395550,
  "user": {
    "id": "47190",
    "company_id": "22982",
    "roles": {
      "id": "101236",
      "name": "Administrator",
      "billing": true,
      "followed_users": true,
      "reminders": true,
      "safeties": true,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": true,
      "manage_member_announcements": false,
      "manage_groups_and_memberships": true,
      "manage_others_archives": true,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": true,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "view_user_board_updated_at": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "created_at": 1763395550,
      "updated_at": 1763395550
    }
  }
}

Revoke a token

Revokes a token, rendering it invalid.

Punto de llegada

POST /oauth/revoke

Parametros

Name Description
client_id requerido (string) your API client key
client_secret requerido (string) your API client secret
token requerido (string) the token to revoke

Solicitud

Ruta

POST /oauth/revoke

Encabezados

Content-Type: application/json

Cuerpo

{
  "client_id": "3334118720572",
  "client_secret": "5349887132929",
  "token": "IEedgCbeimcUBhPh_LqpacaM_w4kx4SN7ZbIQ8rmIsE"
}

cURL

curl "https://www.simpleinout.com/oauth/revoke" -d '{"client_id":"3334118720572","client_secret":"5349887132929","token":"IEedgCbeimcUBhPh_LqpacaM_w4kx4SN7ZbIQ8rmIsE"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Estado

200

Encabezados

ETag: W/"44136fa355b3678a1146ad16f7e8649e"

Cuerpo

{
}

Token information

Provides details about the OAuth token.

Punto de llegada

GET /oauth/token/info

Solicitud

Ruta

GET /oauth/token/info

Encabezados

Content-Type: application/json
Authorization: Bearer I46C13t1AFXTQhNGarpTBBsF5JCV4zOV9geJsYlMCEk

cURL

curl -g "https://www.simpleinout.com/oauth/token/info" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer I46C13t1AFXTQhNGarpTBBsF5JCV4zOV9geJsYlMCEk"

Respuesta

Simulated Response

Campos de respuesta

Name Description
resource_owner_id (integer) the id of the user
scopes (array) the scopes this token is authorized to use
expires_in_seconds (integer) the number of seconds until the token expires
application (object) information about the application
created_at (integer) the time the token was issued

Estado

200

Encabezados

ETag: W/"8c1193fb1e748f14624a0aaa03ff1964"

Cuerpo

{
  "resource_owner_id": 47189,
  "scope": [
    "read"
  ],
  "expires_in": 604800,
  "application": {
    "uid": "2691507562757"
  },
  "created_at": 1763395550
}

Automatic Update Events

Create an automatic update event

Creates new automatic update events. Users must have a role that permits managing their own current status.

Punto de llegada

POST /api/v4/automatic_update_events

Parametros

Name Description
automatic_update_events requerido (array) the array of parameters for each of the events
automatic_update_events[][abandoned_at] (float) epoch time, with precision, for when the device stopped trying to post the event to the server
automatic_update_events[][device_id] requerido (string) the unique identifier of the user's device
automatic_update_events[][event_type] requerido (string) the type of event, either 'entry' or 'exit'
automatic_update_events[][trigger_id] requerido (string) the unique identifier of the item that triggered the event
automatic_update_events[][trigger_type] requerido (string) the type of item that triggered the event, 'Beacon', 'Fence', or 'Network'
automatic_update_events[][triggered_at] requerido (float) epoch time, with precision, for when the event was originally triggered

Solicitud

Ruta

POST /api/v4/automatic_update_events

Encabezados

Content-Type: application/json
Authorization: Bearer uMbPPT0mOdhjB9ykdZz7t9bwfQ5TAT84zVBAplApXWc

Cuerpo

{
  "automatic_update_events": [
    {
      "abandoned_at": 1763395489.650322,
      "device_id": 2265,
      "event_type": "entry",
      "trigger_id": 1038,
      "trigger_type": "Beacon",
      "triggered_at": 1763395429.664684
    },
    {
      "device_id": 2265,
      "event_type": "exit",
      "trigger_id": "noop-deleted-beacon",
      "trigger_type": "Beacon",
      "triggered_at": 1763395549.664696
    }
  ]
}

cURL

curl "https://www.simpleinout.com/api/v4/automatic_update_events" -d '{"automatic_update_events":[{"abandoned_at":1763395489.650322,"device_id":2265,"event_type":"entry","trigger_id":1038,"trigger_type":"Beacon","triggered_at":1763395429.664684},{"device_id":2265,"event_type":"exit","trigger_id":"noop-deleted-beacon","trigger_type":"Beacon","triggered_at":1763395549.664696}]}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer uMbPPT0mOdhjB9ykdZz7t9bwfQ5TAT84zVBAplApXWc"

Respuesta

Simulated Response

Campos de respuesta

Name Description
automatic_update_events (array) contains the ids of the created events or errors from the invalid events

Estado

201

Encabezados

ETag: W/"9169396e2606dba2ddb2eebf9880bb6f"

Cuerpo

{
  "automatic_update_events": [
    {
      "id": "982"
    },
    {
      "id": null,
      "errors": {
        "trigger": "blank"
      }
    }
  ],
  "meta": {
    "last_updated_at": {
      "announcements": 1757948749,
      "beacons": 1763395549,
      "desktop_presences": 1756566349,
      "favorites": 1756134349,
      "fences": 1761404749,
      "groups": 1759676749,
      "networks": 1758726349,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Beacons

Create a beacon

Creates a new beacon. Once this beacon is created, it will appear in the company’s beacons within the Simple In/Out apps. The UUID can then be added to a hardware beacon to broadcast. Users must have a role that permits managing the company to create beacons. Companies are limited to 100 Beacons.

Punto de llegada

POST /api/v4/beacons

Parametros

Name Description
beacon[name] requerido (string) the name of the beacon
beacon[uuid] (string) the unique beacon identifier
beacon[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
beacon[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
beacon[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
beacon[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

POST /api/v4/beacons

Encabezados

Content-Type: application/json
Authorization: Bearer yvX4jW0hWroknbqJ1envcmdXpdbW3F6l10okdrZSHB0

Cuerpo

{
  "beacon": {
    "name": "My Office",
    "uuid": "6EA4801F-4D41-4114-AFA7-7EC977C81B41"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/beacons" -d '{"beacon":{"name":"My Office","uuid":"6EA4801F-4D41-4114-AFA7-7EC977C81B41"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer yvX4jW0hWroknbqJ1envcmdXpdbW3F6l10okdrZSHB0"

Respuesta

Simulated Response

Campos de respuesta

Name Description
beacons (object) the newly created beacon attributes

Estado

201

Encabezados

ETag: W/"fd14e2aed4d8d53a78067102d83fd455"

Cuerpo

{
  "beacons": {
    "id": "1043",
    "name": "My Office",
    "uuid": "6EA4801F-4D41-4114-AFA7-7EC977C81B41",
    "comment_on_entry": "In at My Office",
    "comment_on_exit": "Left My Office",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395550,
    "updated_at": 1763395550
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762185950,
      "beacons": 1763395550,
      "desktop_presences": 1761923150,
      "favorites": 1757171150,
      "fences": 1760799950,
      "groups": 1756652750,
      "networks": 1762272350,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Delete a beacon

Deletes an existing beacon. Users must have a role that permits managing the company to delete beacons.

Punto de llegada

DELETE /api/v4/beacons/:id

Solicitud

Ruta

DELETE /api/v4/beacons/1042

Encabezados

Content-Type: application/json
Authorization: Bearer fZSliO8LO7JXMOCJ9PCuFjK0Ex9drK5QjbvzUpry3dA

cURL

curl "https://www.simpleinout.com/api/v4/beacons/1042" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer fZSliO8LO7JXMOCJ9PCuFjK0Ex9drK5QjbvzUpry3dA"

Respuesta

Simulated Response

Estado

204

List all beacons

Return a list of all the beacons belonging to the company.

Punto de llegada

GET /api/v4/beacons

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/beacons

Encabezados

Content-Type: application/json
Authorization: Bearer eEwu3u-G3q2vD-a6I4NYhlwp1FsXzczt6ZnIsdQn3b8

cURL

curl -g "https://www.simpleinout.com/api/v4/beacons" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer eEwu3u-G3q2vD-a6I4NYhlwp1FsXzczt6ZnIsdQn3b8"

Respuesta

Simulated Response

Campos de respuesta

Name Description
beacons (array) an array of beacons

Estado

200

Encabezados

ETag: W/"cf7d6b6dcccb6ef44c833cddce3e3afc"
Last-Modified: Mon, 17 Nov 2025 16:05:49 GMT

Cuerpo

{
  "beacons": [
    {
      "id": "1039",
      "name": "2 - Port Shannonville",
      "uuid": "31147557-251B-4440-9940-FCA13587D310",
      "comment_on_entry": "In at 2 - Port Shannonville",
      "comment_on_exit": "Left 2 - Port Shannonville",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395549,
      "updated_at": 1763395549
    },
    {
      "id": "1040",
      "name": "3 - North Taren",
      "uuid": "07CEE36D-19B2-49A4-B34C-86DB5C209C58",
      "comment_on_entry": "In at 3 - North Taren",
      "comment_on_exit": "Left 3 - North Taren",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395549,
      "updated_at": 1763395549
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/beacons",
      "last_href": "http://example.org/api/v4/beacons",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1760713549,
      "beacons": 1763395549,
      "desktop_presences": 1756047949,
      "favorites": 1759935949,
      "fences": 1762617949,
      "groups": 1754924749,
      "networks": 1763049949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null
  }
}

Update a beacon

Updates an existing beacon. Please note that if the UUID of the beacon is updated, any corresponding hardware must also be updated to broadcast the new UUID. Users must have a role that permits managing the company to update beacons.

Punto de llegada

PATCH /api/v4/beacons/:id

Parametros

Name Description
beacon[name] (string) the name of the beacon
beacon[uuid] (string) the unique beacon identifier
beacon[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
beacon[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
beacon[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
beacon[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

PATCH /api/v4/beacons/1041

Encabezados

Content-Type: application/json
Authorization: Bearer dpQR-y7kocrXDKTuiRotpGKAWRnYZehNZT2dGOKN9z4

Cuerpo

{
  "beacon": {
    "name": "My Renamed Office"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/beacons/1041" -d '{"beacon":{"name":"My Renamed Office"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer dpQR-y7kocrXDKTuiRotpGKAWRnYZehNZT2dGOKN9z4"

Respuesta

Simulated Response

Campos de respuesta

Name Description
beacons (object) the newly updated beacon attributes

Estado

200

Encabezados

ETag: W/"ec3c9c7b2fce9337c108e056b85caf97"

Cuerpo

{
  "beacons": {
    "id": "1041",
    "name": "My Renamed Office",
    "uuid": "498238F5-CC3A-4186-856E-61AEF437A71D",
    "comment_on_entry": "In at 4 - Marvinborough",
    "comment_on_exit": "Left 4 - Marvinborough",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395550,
    "updated_at": 1763395550
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762704349,
      "beacons": 1763395550,
      "desktop_presences": 1759935949,
      "favorites": 1757689549,
      "fences": 1755702349,
      "groups": 1762790749,
      "networks": 1763395549,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Codes

Authorize a user code

Authorize a user-facing code for access to the API. This is the equivalent to what simpleinout.com/code does for a user when entering this code. When scanning a QR code on a phone with the Simple In/Out app installed, it is presumed that there is a greater chance the user is authenticated in the app vs the website.

If an error occurs, the error code will be in the 6xxx series of errors. Refer to the error handling docs at the top of this readme for details.

This API requires executive scope (Simply Made Apps only).

Punto de llegada

POST /api/v4/codes

Parametros

Name Description
user_code requerido (string) the public-facing user code scanned by user

Solicitud

Ruta

POST /api/v4/codes

Encabezados

Content-Type: application/json
Authorization: Bearer HfliuLE3GxJy-kO9bcfSTk103ArVMv3V5LaEdMCx__0

Cuerpo

{
  "user_code": "PHGZAPJS"
}

cURL

curl "https://www.simpleinout.com/api/v4/codes" -d '{"user_code":"PHGZAPJS"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer HfliuLE3GxJy-kO9bcfSTk103ArVMv3V5LaEdMCx__0"

Respuesta

Simulated Response

Estado

204

Companies

Create Badges PDF

Schedules a new PDF of badges to be created. This will be created in the background due to the length of time it may take to complete. The return will indicate where the badges will be stored when finished, and it is the responsibility of the developer to check that destination for the finished result. If the company does not have a ‘badge_salt’ yet set, this API will return a 404.

Users must have a role that permits managing the company to generate badges.

Punto de llegada

GET /api/v4/companies/my/badges

Parametros

Name Description
title Title to display on badges, defaults to company name
paper Paper type for badge printing, accepts US_LETTER, AVERY_5264, BADGY, ROLLO_SMALL, or ROLLO_LARGE, defaults to US_LETTER

Solicitud

Ruta

GET /api/v4/companies/my/badges?title=Badges&paper=AVERY_5264

Encabezados

Content-Type: application/json
Authorization: Bearer NcdxB74XF1ecZQ-UBUGt47TTvyg_YvzJ3NDvY3z-Jiw

Parámetros de la consulta

title=Badges
paper=AVERY_5264

cURL

curl -g "https://www.simpleinout.com/api/v4/companies/my/badges?title=Badges&paper=AVERY_5264" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer NcdxB74XF1ecZQ-UBUGt47TTvyg_YvzJ3NDvY3z-Jiw"

Respuesta

Simulated Response

Campos de respuesta

Name Description
badges (object) badges object containing the URL the PDF will be stored at

Estado

202

Cuerpo

{
  "badges": {
    "url": "https://s3.amazonaws.com/simpleinout-development/badges/badges-229891763395550.pdf"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1760195150,
      "beacons": 1756911950,
      "desktop_presences": 1755356750,
      "favorites": 1761318350,
      "fences": 1762358750,
      "groups": 1763136350,
      "networks": 1762704350,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "update_available": false
  }
}

Create a company

Creates a new company. The company defaults to the Pro 50 trial plan. This API requires a user-less Client Credential grant, and you must have executive scope (Simply Made Apps only).

Punto de llegada

POST /api/v4/companies

Parametros

Name Description
company[name] requerido (string) the name of the company
user[user_name] requerido (string) the name of the first user, who is also the admin
user[email] requerido (string) the email of the first user, who is also the admin
user[password] requerido (string) the password of the first user, who is also the admin
user[lang] requerido (string) the language code for the first user, defaults to 'en'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'announcements', 'announcements.user', 'billing', 'beacons', 'desktop_presences', 'fences', 'groups', 'favorites', 'networks', 'roles'

Solicitud

Ruta

POST /api/v4/companies

Encabezados

Content-Type: application/json
Authorization: Bearer UiZz1yhAqLyMeb_cLtY51TnOwljPyHoA9tzCTCBfi44

Cuerpo

{
  "company": {
    "name": "My Company"
  },
  "user": {
    "user_name": "Bojack Horseman",
    "email": "bojack@simplymadeapps.com",
    "password": "abcdef123456"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/companies" -d '{"company":{"name":"My Company"},"user":{"user_name":"Bojack Horseman","email":"bojack@simplymadeapps.com","password":"abcdef123456"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer UiZz1yhAqLyMeb_cLtY51TnOwljPyHoA9tzCTCBfi44"

Respuesta

Simulated Response

Campos de respuesta

Name Description
companies[name] (string) the authorized user's company name
companies[available_statuses] (array) the statuses that are available to the company
companies[logo_url] (string) url of an image to be used as a fullscreen logo
companies[default_role_id] (string) the unique identifier for the default role
companies[scheduled_statuses] (boolean) whether Scheduled Statuses feature is enabled
companies[badge_salt] (string) badge salt for TimeClock
companies[theme] (string) the currently selected theme color for the company
companies[super_company] (object) id and name of the super-company
companies[created_at] (integer) epoch time the company was created

Estado

201

Encabezados

ETag: W/"5a8d685b76f865abac1dd6ce8f8acefc"

Cuerpo

{
  "companies": {
    "id": "22988",
    "announcements_enabled": true,
    "available_statuses": [
      "in",
      "remote",
      "busy",
      "break",
      "out",
      "sick",
      "vacation"
    ],
    "name": "My Company",
    "scheduled_statuses": true,
    "default_role_id": "101262",
    "logo_url": null,
    "created_at": 1763395550
  },
  "meta": {
    "last_updated_at": {
      "announcements": 0,
      "beacons": 0,
      "desktop_presences": 0,
      "favorites": 0,
      "fences": 0,
      "groups": 0,
      "networks": 0,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "update_available": false
  }
}

Create/Update company badge salt

Creates a new badge salt. If a badge salt already exists, this will overwrite it with a new one. Users must have a role that permits managing the company to create a new badge salt.

Punto de llegada

POST /api/v4/companies/my/badges

Parametros

Name Description
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'announcements', 'announcements.user', 'billing', 'beacons', 'desktop_presences', 'fences', 'groups', 'favorites', 'networks', 'roles'

Solicitud

Ruta

POST /api/v4/companies/my/badges

Encabezados

Content-Type: application/json
Authorization: Bearer EW5Pb_NGsDXXIrUowQlkHm3zqjAE8BXlPSATyRM_DHU

cURL

curl "https://www.simpleinout.com/api/v4/companies/my/badges" -d '' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer EW5Pb_NGsDXXIrUowQlkHm3zqjAE8BXlPSATyRM_DHU"

Respuesta

Simulated Response

Campos de respuesta

Name Description
companies (object) the newly updated company attributes

Estado

200

Encabezados

ETag: W/"5b47b4396d5c3de0c18a26b136991dde"

Cuerpo

{
  "companies": {
    "id": "22991",
    "announcements_enabled": true,
    "available_statuses": [
      "in",
      "out"
    ],
    "name": "Boyle, Rowe and Schamberger",
    "scheduled_statuses": true,
    "default_role_id": "101274",
    "logo_url": null,
    "created_at": 1763395550,
    "badge_salt": "5363a209a075aea8589f5bd75d2c60e8",
    "theme": "blue",
    "super_company": null
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759244750,
      "beacons": 1762877150,
      "desktop_presences": 1759503950,
      "favorites": 1761750350,
      "fences": 1760972750,
      "groups": 1758035150,
      "networks": 1758467150,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "update_available": false
  }
}

Create/Update company favorites

Creates company-wide favorites. If company favorites exist, they will be overwritten by the new ones. Users must have a role that permits managing the company to create favorites. Companies are limited to 50 favorites.

Punto de llegada

POST /api/v4/companies/my/favorites

Parametros

Name Description
favorites requerido (array) array of objects consisting of 'status' and 'comment'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'announcements', 'announcements.user', 'billing', 'beacons', 'desktop_presences', 'fences', 'groups', 'favorites', 'networks', 'roles'

Solicitud

Ruta

POST /api/v4/companies/my/favorites

Encabezados

Content-Type: application/json
Authorization: Bearer jYXb3UU88nUemZugFQ0JTUThZEfvYbig4W4xbh6tzbY

Cuerpo

{
  "favorites": [
    {
      "status": "in",
      "comment": "At Work"
    },
    {
      "status": "out",
      "comment": "On Vacation"
    }
  ],
  "expand": "favorites"
}

cURL

curl "https://www.simpleinout.com/api/v4/companies/my/favorites" -d '{"favorites":[{"status":"in","comment":"At Work"},{"status":"out","comment":"On Vacation"}],"expand":"favorites"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer jYXb3UU88nUemZugFQ0JTUThZEfvYbig4W4xbh6tzbY"

Respuesta

Simulated Response

Campos de respuesta

Name Description
companies (object) the updated company attributes

Estado

200

Encabezados

ETag: W/"bc582a1a841a995cdf6005e559220171"

Cuerpo

{
  "companies": {
    "id": "22986",
    "announcements_enabled": true,
    "available_statuses": [
      "in",
      "out"
    ],
    "name": "Farrell-Ankunding",
    "scheduled_statuses": true,
    "default_role_id": "101254",
    "logo_url": null,
    "created_at": 1763395550,
    "badge_salt": null,
    "theme": "blue",
    "super_company": null,
    "favorites": [
      {
        "status": "in",
        "comment": "At Work"
      },
      {
        "status": "out",
        "comment": "On Vacation"
      }
    ]
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1756479950,
      "beacons": 1757689550,
      "desktop_presences": 1756998350,
      "favorites": 1763395550,
      "fences": 1763309150,
      "groups": 1756307150,
      "networks": 1756911950,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "update_available": false
  }
}

Retrieve the current company

Return the company the authorized user belongs to.

Punto de llegada

GET /api/v4/companies/my

Parametros

Name Description
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'announcements', 'announcements.user', 'billing', 'beacons', 'desktop_presences', 'fences', 'groups', 'favorites', 'networks', 'roles'

Solicitud

Ruta

GET /api/v4/companies/my

Encabezados

Content-Type: application/json
Authorization: Bearer NplfEfhTgjJpxOAi90Rg42A3EJCzysKxXqHPz4GSJSM

cURL

curl -g "https://www.simpleinout.com/api/v4/companies/my" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer NplfEfhTgjJpxOAi90Rg42A3EJCzysKxXqHPz4GSJSM"

Respuesta

Simulated Response

Campos de respuesta

Name Description
companies[name] (string) the authorized user's company name
companies[logo_url] (string) url of an image to be used as a fullscreen logo
companies[default_role_id] (string) the unique identifier for the default role
companies[scheduled_statuses] (boolean) whether Scheduled Statuses feature is enabled
companies[available_statuses] (array) the statuses that are available to the company
companies[badge_salt] (string) badge salt for TimeClock
companies[theme] (string) the currently selected theme color for the company
companies[super_company] (object) id and name of the super-company
companies[created_at] (integer) epoch time the company was created

Estado

200

Encabezados

ETag: W/"c7f23ea41dd6f7ce15836eeff127f902"
Last-Modified: Mon, 17 Nov 2025 16:05:50 GMT

Cuerpo

{
  "companies": {
    "id": "22990",
    "announcements_enabled": true,
    "available_statuses": [
      "in",
      "out"
    ],
    "name": "Cummerata, Mante and Kunze",
    "scheduled_statuses": true,
    "default_role_id": "101270",
    "logo_url": null,
    "created_at": 1763395550,
    "badge_salt": null,
    "theme": "blue",
    "super_company": null
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762963550,
      "beacons": 1761491150,
      "desktop_presences": 1757775950,
      "favorites": 1758985550,
      "fences": 1755183950,
      "groups": 1757171150,
      "networks": 1755097550,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "update_available": false
  }
}

Desktop Presences

Create a desktop presence

Creates a new desktop presence. Once this desktop presence is created, it will appear in the company’s desktop presences within the Simple In/Out apps. Users must have a role that permits managing the company to create desktop presences. Companies are limited to 100 desktop presences.

Punto de llegada

POST /api/v4/desktop_presences

Parametros

Name Description
desktop_presence[name] requerido (string) the name of the desktop presences, no longer than 44 characters
desktop_presence[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
desktop_presence[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
desktop_presence[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
desktop_presence[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

POST /api/v4/desktop_presences

Encabezados

Content-Type: application/json
Authorization: Bearer 8YR-sNPD3au4UgzZd1E1UB3J3WDGLB6UIY6eR17SDsw

Cuerpo

{
  "desktop_presence": {
    "name": "Home"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/desktop_presences" -d '{"desktop_presence":{"name":"Home"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 8YR-sNPD3au4UgzZd1E1UB3J3WDGLB6UIY6eR17SDsw"

Respuesta

Simulated Response

Campos de respuesta

Name Description
desktop_presences (object) the newly created desktop presence attributes

Estado

201

Encabezados

ETag: W/"07d6b4739d2cf43d44bd1b0e1c651501"

Cuerpo

{
  "desktop_presences": {
    "id": "417",
    "name": "Home",
    "comment_on_entry": "In at Home",
    "comment_on_exit": "Left Home",
    "idle_time": 10,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1755529548,
      "beacons": 1762790748,
      "desktop_presences": 1763395548,
      "favorites": 1754924748,
      "fences": 1756134348,
      "groups": 1755702348,
      "networks": 1759158348,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Delete a desktop presence

Deletes an existing desktop presence. Users must have a role that permits managing the company to delete desktop presences.

Punto de llegada

DELETE /api/v4/desktop_presences/:id

Solicitud

Ruta

DELETE /api/v4/desktop_presences/414

Encabezados

Content-Type: application/json
Authorization: Bearer JqK1lxJTgU7kmwObAJbS_74oIk_3L7Z4Jpp7gSDo1c4

cURL

curl "https://www.simpleinout.com/api/v4/desktop_presences/414" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer JqK1lxJTgU7kmwObAJbS_74oIk_3L7Z4Jpp7gSDo1c4"

Respuesta

Simulated Response

Estado

204

List all desktop presences

Return a list of all the desktop presences belonging to the company.

Punto de llegada

GET /api/v4/desktop_presences

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/desktop_presences

Encabezados

Content-Type: application/json
Authorization: Bearer 81vN2PvxFAPSW3n1lML2GvbRcKjqGOHF6IvmO8SI6qE

cURL

curl -g "https://www.simpleinout.com/api/v4/desktop_presences" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 81vN2PvxFAPSW3n1lML2GvbRcKjqGOHF6IvmO8SI6qE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
desktop_presences (array) an array of desktop presences

Estado

200

Encabezados

ETag: W/"40cb34478f287853c962451b0c556995"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "desktop_presences": [
    {
      "id": "415",
      "name": "3 - Nicolasfurt",
      "comment_on_entry": "In at 3 - Nicolasfurt",
      "comment_on_exit": "Left 3 - Nicolasfurt",
      "idle_time": 10,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395548,
      "updated_at": 1763395548
    },
    {
      "id": "416",
      "name": "4 - Bobtown",
      "comment_on_entry": "In at 4 - Bobtown",
      "comment_on_exit": "Left 4 - Bobtown",
      "idle_time": 10,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395548,
      "updated_at": 1763395548
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/desktop_presences",
      "last_href": "http://example.org/api/v4/desktop_presences",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1758812748,
      "beacons": 1760627148,
      "desktop_presences": 1763395548,
      "favorites": 1760540748,
      "fences": 1755961548,
      "groups": 1763395548,
      "networks": 1763395548,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Update a desktop presence

Updates an existing desktop presence. Users must have a role that permits managing the company to update desktop presences.

Punto de llegada

PATCH /api/v4/desktop_presences/:id

Parametros

Name Description
desktop_presence[name] (string) the name of the desktop presence, no longer than 44 characters
desktop_presence[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
desktop_presence[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
desktop_presence[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
desktop_presence[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

PATCH /api/v4/desktop_presences/413

Encabezados

Content-Type: application/json
Authorization: Bearer q5CmQe3JgKQhy75MaNmES_S-Of9zuCwjDuZtxz4rQ5o

Cuerpo

{
  "desktop_presence": {
    "name": "Home"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/desktop_presences/413" -d '{"desktop_presence":{"name":"Home"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer q5CmQe3JgKQhy75MaNmES_S-Of9zuCwjDuZtxz4rQ5o"

Respuesta

Simulated Response

Campos de respuesta

Name Description
desktop_presences (object) the newly updated desktop presence attributes

Estado

200

Encabezados

ETag: W/"c44bbf58747ecf22eeb1dc19c2c8dab4"

Cuerpo

{
  "desktop_presences": {
    "id": "413",
    "name": "Home",
    "comment_on_entry": "In at 1 - Rempelbury",
    "comment_on_exit": "Left 1 - Rempelbury",
    "idle_time": 10,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1754838348,
      "beacons": 1761404748,
      "desktop_presences": 1763395548,
      "favorites": 1755183948,
      "fences": 1760886348,
      "groups": 1762877148,
      "networks": 1756134348,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Devices

Create a device

Creates a new device.

Punto de llegada

POST /api/v4/devices

Parametros

Name Description
device[os] requerido (string) the platform this device operates within, must be either 'ios', 'android', 'mac', or 'windows'
device[token] requerido (string) the unique identifier provided by the platform for notifications
device[location_token] (string) the unique identifier provided by iOS for location notifications, only allowed for ios devices and location pushes will start (or stop if set to null) within 5 minutes
device[notifications_enabled] (boolean) whether any notifications should be sent, defaults to true
device[on_reminder] (boolean) whether any reminder notifications should be sent, defaults to true
device[deliver_status_notifications] (boolean) whether automatic status update notifications should be sent, defaults to true
device[active_time_attributes][enabled] (boolean) whether active time is enabled, defaults to false
device[active_time_attributes][time_range] (string) time range in 24h time with .. delimiter (example: 6:00..17:00), required if enabled is true
device[active_time_attributes][time_zone] (string) one of our supported time zone strings, required if enabled is true
device[active_time_attributes][wdays] (string) days that are active for start time in the format '0123456', which each number equal to a weekday (0=Sunday, 1=Monday, etc), required if enabled is true
device[active_time_attributes][on_push] (boolean) whether active time is used for followed user notifications, defaults to true
device[active_time_attributes][on_reminder] (boolean) whether active time is used for reminder notifications, defaults to true
device[active_time_attributes][on_safety] (boolean) whether active time is used for safety notifications, defaults to true
device[active_time_attributes][on_update] (boolean) whether active time is used for automatic updates, defaults to true

Solicitud

Ruta

POST /api/v4/devices

Encabezados

Content-Type: application/json
Authorization: Bearer 78qlnwDfw6ml_i7mtfb73iKt8UWLnP8eZ8Pug6R98UY

Cuerpo

{
  "device": {
    "os": "ios",
    "token": "6FEBE4B0-3423-4799-A0E4-78B09C949DE2",
    "notifications_enabled": true,
    "active_time_attributes": {
      "enabled": false
    }
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/devices" -d '{"device":{"os":"ios","token":"6FEBE4B0-3423-4799-A0E4-78B09C949DE2","notifications_enabled":true,"active_time_attributes":{"enabled":false}}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer 78qlnwDfw6ml_i7mtfb73iKt8UWLnP8eZ8Pug6R98UY"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the newly created device attributes

Estado

201

Encabezados

ETag: W/"e29b0107bea4c016f9203a7a0c787eb5"

Cuerpo

{
  "devices": {
    "id": "2252",
    "token": "6FEBE4B0-3423-4799-A0E4-78B09C949DE2",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": null,
      "time_range": null,
      "time_zone": null
    },
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1761145548,
      "beacons": 1756047948,
      "desktop_presences": 1763136348,
      "favorites": 1761750348,
      "fences": 1757689548,
      "groups": 1761059148,
      "networks": 1755615948,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Delete a device

Deletes an existing device.

Punto de llegada

DELETE /api/v4/devices/:id

Solicitud

Ruta

DELETE /api/v4/devices/2258

Encabezados

Content-Type: application/json
Authorization: Bearer CUW1Nm362MvvSl3FXg_vLYVeChHNB_RLD6us6-wRXjQ

cURL

curl "https://www.simpleinout.com/api/v4/devices/2258" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer CUW1Nm362MvvSl3FXg_vLYVeChHNB_RLD6us6-wRXjQ"

Respuesta

Simulated Response

Estado

204

Delete a heart beat

Deletes the device’s heart beat to prevent status updates after automatic updates are disabled.

Punto de llegada

DELETE /api/v4/devices/:device_id/heart_beat

Solicitud

Ruta

DELETE /api/v4/devices/2253/heart_beat

Encabezados

Content-Type: application/json
Authorization: Bearer qxkhQlNtROTGHy4KgYXaonYVEZxzF7l-cuHL40dZWTY

cURL

curl "https://www.simpleinout.com/api/v4/devices/2253/heart_beat" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer qxkhQlNtROTGHy4KgYXaonYVEZxzF7l-cuHL40dZWTY"

Respuesta

Simulated Response

Estado

204

Follow a specific user

Receive notifications on this device for all users in the company. Users must have a role that permits following users, and the company must be on a plan that allows for followed user notifications.

Punto de llegada

POST /api/v4/devices/:id/follow/users/:user_id

Solicitud

Ruta

POST /api/v4/devices/2261/follow/users/47144

Encabezados

Content-Type: application/json
Authorization: Bearer Sz7bntOr26hrP6fE-x8xgeOo4PzAyi5DB90eJUmuVpQ

cURL

curl "https://www.simpleinout.com/api/v4/devices/2261/follow/users/47144" -d '' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer Sz7bntOr26hrP6fE-x8xgeOo4PzAyi5DB90eJUmuVpQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the device attributes

Estado

200

Encabezados

ETag: W/"ecd9634e13fb1e223d95cdd66ae7e81a"

Cuerpo

{
  "devices": {
    "id": "2261",
    "token": "74534443-B3B7-47B9-B5BE-8BC2C8A6F376",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [
      "47144"
    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762009549,
      "beacons": 1756566349,
      "desktop_presences": 1759158349,
      "favorites": 1762963549,
      "fences": 1755615949,
      "groups": 1757343949,
      "networks": 1756911949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Follow all users

Punto de llegada

POST /api/v4/devices/:id/follow/all

Solicitud

Ruta

POST /api/v4/devices/2263/follow/all

Encabezados

Content-Type: application/json
Authorization: Bearer F2dxBWD8-Qu5wJmHyXKlfC4FzHjlL_wBHfxQbI_4gLQ

cURL

curl "https://www.simpleinout.com/api/v4/devices/2263/follow/all" -d '' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer F2dxBWD8-Qu5wJmHyXKlfC4FzHjlL_wBHfxQbI_4gLQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the newly created device attributes

Estado

200

Encabezados

ETag: W/"962ac56201292247a040e62bdbfb1e8a"

Cuerpo

{
  "devices": {
    "id": "2263",
    "token": "BFC54146-0A74-43A3-8276-E5B86ECFD589",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": true,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759244749,
      "beacons": 1755961549,
      "desktop_presences": 1762185949,
      "favorites": 1759503949,
      "fences": 1755961549,
      "groups": 1756652749,
      "networks": 1757343949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Follow specific users

Receive notifications on this device for all users passed in. This allows for several users to be able to be followed individually within one API call. Please note you can only follow a user once, otherwise you will receive a taken validation error. Users must have a role that permits following users, and the company must be on a plan that allows for followed user notifications.

Punto de llegada

POST /api/v4/devices/:id/follow/users

Parametros

Name Description
user_ids (array) list of user ids within the authorized user's company (cannot be the authorized user's id)

Solicitud

Ruta

POST /api/v4/devices/2257/follow/users

Encabezados

Content-Type: application/json
Authorization: Bearer 1oY1O4cHbaa9hys_cxD-ZzmEAFCwGY2DK7BQUHjOq1g

Cuerpo

{
  "user_ids": [
    47137,
    47138
  ]
}

cURL

curl "https://www.simpleinout.com/api/v4/devices/2257/follow/users" -d '{"user_ids":[47137,47138]}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer 1oY1O4cHbaa9hys_cxD-ZzmEAFCwGY2DK7BQUHjOq1g"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the device attributes

Estado

200

Encabezados

ETag: W/"21f268e9849a94c5196c675bd5194872"

Cuerpo

{
  "devices": {
    "id": "2257",
    "token": "0A38D4C9-6500-4ABF-A493-D6C1E4C30C7F",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [
      "47137",
      "47138"
    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1756566349,
      "beacons": 1754924749,
      "desktop_presences": 1756825549,
      "favorites": 1756220749,
      "fences": 1755615949,
      "groups": 1761663949,
      "networks": 1757084749,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Retrieve a device

Retrieves an existing device.

Punto de llegada

GET /api/v4/devices/:id

Solicitud

Ruta

GET /api/v4/devices/2256

Encabezados

Content-Type: application/json
Authorization: Bearer I2VUXWh5h0J0OqTx5U71parNh6zk9qGMloZAxFRB-lw
If-None-Match: 

cURL

curl -g "https://www.simpleinout.com/api/v4/devices/2256" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer I2VUXWh5h0J0OqTx5U71parNh6zk9qGMloZAxFRB-lw" \
	-H "If-None-Match: "

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the retrieved device

Estado

200

Encabezados

ETag: W/"08855a5856705a74dbfcb868dded1d12"

Cuerpo

{
  "devices": {
    "id": "2256",
    "token": "4E2950B1-CBEA-43F6-8412-BBE6FA04155D",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1760799949,
      "beacons": 1756047949,
      "desktop_presences": 1757775949,
      "favorites": 1756479949,
      "fences": 1761145549,
      "groups": 1759849549,
      "networks": 1760281549,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Retrieve followed users

Retrieves an array of users that this device follows. This list always contains only the ‘id’ and ‘name’ of the user in alphabetic order according to name.

Punto de llegada

GET /api/v4/devices/:id/follow/users/followed

Solicitud

Ruta

GET /api/v4/devices/2264/follow/users/followed

Encabezados

Content-Type: application/json
Authorization: Bearer g6wB8zIPxh52XjwWw7jMUg7iM-MTQUUShhaJCBASt0c

cURL

curl -g "https://www.simpleinout.com/api/v4/devices/2264/follow/users/followed" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer g6wB8zIPxh52XjwWw7jMUg7iM-MTQUUShhaJCBASt0c"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the retrieved users, only including their 'id' and 'name' fields

Estado

200

Encabezados

ETag: W/"1b4d28bcb60b1274f0e7b20506bca3ed"

Cuerpo

{
  "users": [
    {
      "id": "47152",
      "name": "Lakiesha Effertz"
    },
    {
      "id": "47151",
      "name": "Nelson Marquardt"
    },
    {
      "id": "47153",
      "name": "Pres. Gearldine Ernser"
    },
    {
      "id": "47150",
      "name": "Vernon Littel"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 4,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/devices/2264/follow/users/followed?id=2264",
      "last_href": "http://example.org/api/v4/devices/2264/follow/users/followed?id=2264",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1755961549,
      "beacons": 1761231949,
      "desktop_presences": 1755961549,
      "favorites": 1755702349,
      "fences": 1763309149,
      "groups": 1754924749,
      "networks": 1756911949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Retrieve unfollowed users

Retrieves an array of users that this device does not yet follow. This list always contains only the ‘id’ and ‘name’ of the user in alphabetic order according to name.

Punto de llegada

GET /api/v4/devices/:id/follow/users/available

Solicitud

Ruta

GET /api/v4/devices/2255/follow/users/available

Encabezados

Content-Type: application/json
Authorization: Bearer u4W73hHMBgw--xZx22cJp5Cwro91f92s_wP6-_seDdU

cURL

curl -g "https://www.simpleinout.com/api/v4/devices/2255/follow/users/available" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer u4W73hHMBgw--xZx22cJp5Cwro91f92s_wP6-_seDdU"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the retrieved users, only including their 'id' and 'name' fields

Estado

200

Encabezados

ETag: W/"f4c8d79920400c3fd22c936abd078c08"

Cuerpo

{
  "users": [
    {
      "id": "47133",
      "name": "Cathie Reichel"
    },
    {
      "id": "47131",
      "name": "Erna Pfannerstill"
    },
    {
      "id": "47132",
      "name": "Tomeka Grady"
    },
    {
      "id": "47134",
      "name": "Wendell Kessler"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 4,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/devices/2255/follow/users/available?id=2255",
      "last_href": "http://example.org/api/v4/devices/2255/follow/users/available?id=2255",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1759935949,
      "beacons": 1758121549,
      "desktop_presences": 1756825549,
      "favorites": 1756479949,
      "fences": 1756739149,
      "groups": 1757689549,
      "networks": 1757084749,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Unfollow a specific user

Stop receiving notifications on this device for all users in the company. Users must have a role that permits following users, and the company must be on a plan that allows for followed user notifications.

Punto de llegada

DELETE /api/v4/devices/:id/follow/users/:user_id

Solicitud

Ruta

DELETE /api/v4/devices/2259/follow/users/47141

Encabezados

Content-Type: application/json
Authorization: Bearer To7WBizW9-rUHUdtMkY3-OiMEDMb63zuQpIuomc3HWg

cURL

curl "https://www.simpleinout.com/api/v4/devices/2259/follow/users/47141" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer To7WBizW9-rUHUdtMkY3-OiMEDMb63zuQpIuomc3HWg"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the device attributes

Estado

200

Encabezados

ETag: W/"0fb69f8fe48d76e046d9e47a8b49ebed"

Cuerpo

{
  "devices": {
    "id": "2259",
    "token": "469AE6FE-BF1A-4993-AC7E-46B44077FB95",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762790749,
      "beacons": 1761404749,
      "desktop_presences": 1762617949,
      "favorites": 1763136349,
      "fences": 1760886349,
      "groups": 1757516749,
      "networks": 1760972749,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Unfollow all users

Stop receiving notifications on this device for all users in the company. Users must have a role that permits following users, and the company must be on a plan that allows for followed user notifications.

Punto de llegada

DELETE /api/v4/devices/:id/follow/all

Solicitud

Ruta

DELETE /api/v4/devices/2260/follow/all

Encabezados

Content-Type: application/json
Authorization: Bearer OPPVPsQ65DgJvAcPArylqEUgxlCZW2lnEQ2dpXdVKH4

cURL

curl "https://www.simpleinout.com/api/v4/devices/2260/follow/all" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer OPPVPsQ65DgJvAcPArylqEUgxlCZW2lnEQ2dpXdVKH4"

Respuesta

Simulated Response

Estado

200

Encabezados

ETag: W/"ab39585e8e545431fcfbc2a162e07a83"

Cuerpo

{
  "devices": {
    "id": "2260",
    "token": "5CABC647-FF48-46B7-98FA-650817330D33",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1758380749,
      "beacons": 1759331149,
      "desktop_presences": 1758294349,
      "favorites": 1761491149,
      "fences": 1762009549,
      "groups": 1758553549,
      "networks": 1759590349,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Unfollow specific users

Exclude notifications on this device for all users passed in. This allows for several users to be able to be unfollowed individually within one API call. Users must have a role that permits following users, and the company must be on a plan that allows for followed user notifications.

Punto de llegada

DELETE /api/v4/devices/:id/follow/users

Parametros

Name Description
user_ids (array) list of user ids within the authorized user's company (cannot be the authorized user's id)

Solicitud

Ruta

DELETE /api/v4/devices/2262/follow/users

Encabezados

Content-Type: application/json
Authorization: Bearer brjbkNbEBkW6sypft6zjs7GuLpjKTOrbaS4wcYaWbPw

Cuerpo

{
  "user_ids": [
    47146,
    47147
  ]
}

cURL

curl "https://www.simpleinout.com/api/v4/devices/2262/follow/users" -d '{"user_ids":[47146,47147]}' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer brjbkNbEBkW6sypft6zjs7GuLpjKTOrbaS4wcYaWbPw"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the device attributes

Estado

200

Encabezados

ETag: W/"659915daaf2c36013042ae618d9ac8fb"

Cuerpo

{
  "devices": {
    "id": "2262",
    "token": "20D4A40E-350A-44F0-8B65-A17594DCBC81",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1763222749,
      "beacons": 1763049949,
      "desktop_presences": 1762358749,
      "favorites": 1760281549,
      "fences": 1760367949,
      "groups": 1756998349,
      "networks": 1757343949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Update a device

Updates an existing device. If the device token is removed with an update, all the users that this device was following for notifications will also be removed.

Punto de llegada

PATCH /api/v4/devices/:id

Parametros

Name Description
device[token] (string) the unique identifier provided by the platform for notifications
device[location_token] (string) the unique identifier provided by iOS for location notifications, only allowed for ios devices and location pushes will start (or stop if set to null) within 5 minutes
device[notifications_enabled] (boolean) whether any notifications should be sent
device[on_reminder] (boolean) whether any reminder notifications should be sent
device[deliver_status_notifications] (boolean) whether automatic status update notifications should be sent
device[active_time_attributes][enabled] (boolean) whether active time is enabled, defaults to false
device[active_time_attributes][time_range] (string) time range in 24h time with .. delimiter (example: 6:00..17:00), required if enabled is true
device[active_time_attributes][time_zone] (string) one of our supported time zone strings, required if enabled is true
device[active_time_attributes][wdays] (string) days that are active for start time in the format '0123456', which each number equal to a weekday (0=Sunday, 1=Monday, etc), required if enabled is true
device[active_time_attributes][on_push] (boolean) whether active time is used for followed user notifications, defaults to true
device[active_time_attributes][on_reminder] (boolean) whether active time is used for reminder notifications, defaults to true
device[active_time_attributes][on_safety] (boolean) whether active time is used for safety notifications, defaults to true
device[active_time_attributes][on_update] (boolean) whether active time is used for automatic updates, defaults to true

Solicitud

Ruta

PATCH /api/v4/devices/2254

Encabezados

Content-Type: application/json
Authorization: Bearer VLugkUs4pMna-1VBjElVV3KrmMqitXGBGEsYExhQyjI

Cuerpo

{
  "device": {
    "notifications_enabled": true
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/devices/2254" -d '{"device":{"notifications_enabled":true}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer VLugkUs4pMna-1VBjElVV3KrmMqitXGBGEsYExhQyjI"

Respuesta

Simulated Response

Campos de respuesta

Name Description
devices (object) the newly created device attributes

Estado

200

Encabezados

ETag: W/"aa2bade0e59eba3e2e6e89077c5c7949"

Cuerpo

{
  "devices": {
    "id": "2254",
    "token": "FF0FD7B7-5AA2-4935-9B97-69901FE5FF7D",
    "location_token": null,
    "os": "ios",
    "notifications_enabled": true,
    "on_announcement": true,
    "on_reminder": true,
    "deliver_status_notifications": true,
    "follow_everyone": false,
    "follow_users": [

    ],
    "active_time": {
      "enabled": false,
      "on_announcement": true,
      "on_push": true,
      "on_reminder": true,
      "on_safety": true,
      "on_update": true,
      "wdays": "12345",
      "time_range": "6:00..19:00",
      "time_zone": "America/Chicago"
    },
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1757516749,
      "beacons": 1758553549,
      "desktop_presences": 1755788749,
      "favorites": 1758553549,
      "fences": 1757948749,
      "groups": 1758035149,
      "networks": 1757343949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null,
    "update_available": false
  }
}

Futures

Delete a future status

Deletes an existing scheduled status. The company must have scheduled statuses turned on. Users must have a role that permits managing their own scheduled statuses to delete one of their scheduled statuses. Users must have a role that permits managing the scheduled statuses of others to delete another user’s scheduled status.

Punto de llegada

DELETE /api/v4/futures/:id

Solicitud

Ruta

DELETE /api/v4/futures/1237

Encabezados

Content-Type: application/json
Authorization: Bearer 43Fc-E4_H8ngw15ID3Fbyz-i0VjbWeq0aYgDBJbvJAE

cURL

curl "https://www.simpleinout.com/api/v4/futures/1237" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 43Fc-E4_H8ngw15ID3Fbyz-i0VjbWeq0aYgDBJbvJAE"

Respuesta

Simulated Response

Estado

204

List future statuses

List all the scheduled statuses. The company must have scheduled statuses turned on. Users must have a role that permits viewing the scheduled statuses of others or only the authorized user’s scheduled statuses will be returned.

Punto de llegada

GET /api/v4/futures

Parametros

Name Description
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results
status (string) the status: 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
comment (string) the comment, case sensitive, included with the status change
apply_at (string) a date range string for the time this status will be added
user_id (string) the ID of a particular user
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'apply_at', 'status', 'comment'"
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'changed_by_user'

Solicitud

Ruta

GET /api/v4/futures

Encabezados

Content-Type: application/json
Authorization: Bearer JaD4Y921Y2eLHqVzF4RRfrFcceCnC8NS9iVwJwWWyvc

cURL

curl -g "https://www.simpleinout.com/api/v4/futures" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer JaD4Y921Y2eLHqVzF4RRfrFcceCnC8NS9iVwJwWWyvc"

Respuesta

Simulated Response

Campos de respuesta

Name Description
futures (array) an array of matching future statuses

Estado

200

Encabezados

ETag: W/"730c87447aae85ae50d0bf360fc9498d"
Last-Modified: Mon, 17 Nov 2025 16:05:50 GMT

Cuerpo

{
  "futures": [
    {
      "id": "1235",
      "status": "out",
      "comment": "On Vacation, back Monday",
      "completed": false,
      "apply_at": 1765987200,
      "end_at": 1766246400,
      "user_id": "47192",
      "changed_by_user_id": null
    },
    {
      "id": "1236",
      "status": "out",
      "comment": "At the conference this week",
      "completed": false,
      "apply_at": 1779030000,
      "end_at": null,
      "user_id": "47192",
      "changed_by_user_id": null
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/futures",
      "last_href": "http://example.org/api/v4/futures",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1760627150,
      "beacons": 1755011150,
      "desktop_presences": 1763222750,
      "favorites": 1762099550,
      "fences": 1758467150,
      "groups": 1762358750,
      "networks": 1757171150,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Geofences

Create a fence

Creates a new fence. Once this fence is created, it will appear in the company’s fences within the Simple In/Out apps and website. Users must have a role that permits managing the company to create fences. Companies are limited to 150 Geofences.

Punto de llegada

POST /api/v4/fences

Parametros

Name Description
fence[name] requerido (string) the name of the fence
fence[latitude] requerido (float) the latitude of the center point of the fence
fence[longitude] requerido (float) the longitude of the center point of the fence
fence[radius] requerido (integer) the radius of the fence, in meters
fence[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
fence[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
fence[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
fence[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

POST /api/v4/fences

Encabezados

Content-Type: application/json
Authorization: Bearer eNM_QJOYCfm7UsIulgHSuKUf-_JO9vG_GHD1bFUo3OQ

Cuerpo

{
  "fence": {
    "name": "My Office",
    "latitude": 46.877931,
    "longitude": -96.787459,
    "radius": 150
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/fences" -d '{"fence":{"name":"My Office","latitude":46.877931,"longitude":-96.787459,"radius":150}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer eNM_QJOYCfm7UsIulgHSuKUf-_JO9vG_GHD1bFUo3OQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
fences (object) the newly created fence attributes

Estado

201

Encabezados

ETag: W/"fcc03601840a847ff53a777805aadcc9"

Cuerpo

{
  "fences": {
    "id": "380",
    "name": "My Office",
    "latitude": "46.877931",
    "longitude": "-96.787459",
    "radius": 150,
    "comment_on_entry": "In at My Office",
    "comment_on_exit": "Left My Office",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1754924749,
      "beacons": 1763049949,
      "desktop_presences": 1756393549,
      "favorites": 1758121549,
      "fences": 1763395549,
      "groups": 1755961549,
      "networks": 1760799949,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null
  }
}

Delete a fence

Deletes an existing fence. Users must have a role that permits managing the company to delete fences.

Punto de llegada

DELETE /api/v4/fences/:id

Solicitud

Ruta

DELETE /api/v4/fences/381

Encabezados

Content-Type: application/json
Authorization: Bearer RDdQc_moRoJbxjPSEqWC3Miiukex7C6PGdjvFjOOg54

cURL

curl "https://www.simpleinout.com/api/v4/fences/381" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer RDdQc_moRoJbxjPSEqWC3Miiukex7C6PGdjvFjOOg54"

Respuesta

Simulated Response

Estado

204

List all fences

Return a list of all the fences belonging to the company.

Punto de llegada

GET /api/v4/fences

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name', 'radius
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/fences

Encabezados

Content-Type: application/json
Authorization: Bearer F3v7b73MCiuG35IDkHSfsDymQn7F8Bm-J144mAAIuis

cURL

curl -g "https://www.simpleinout.com/api/v4/fences" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer F3v7b73MCiuG35IDkHSfsDymQn7F8Bm-J144mAAIuis"

Respuesta

Simulated Response

Campos de respuesta

Name Description
fences (array) an array of fences

Estado

200

Encabezados

ETag: W/"1084639683809e83a4b87b30a6ddb32a"
Last-Modified: Mon, 17 Nov 2025 16:05:49 GMT

Cuerpo

{
  "fences": [
    {
      "id": "378",
      "name": "1 - McGlynnland",
      "latitude": "-50.5125170271",
      "longitude": "49.2138859934",
      "radius": 5302,
      "comment_on_entry": "In at 1 - McGlynnland",
      "comment_on_exit": "Left 1 - McGlynnland",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395549,
      "updated_at": 1763395549
    },
    {
      "id": "379",
      "name": "2 - Ankundingstad",
      "latitude": "-41.360565532",
      "longitude": "-26.1624526275",
      "radius": 7830,
      "comment_on_entry": "In at 2 - Ankundingstad",
      "comment_on_exit": "Left 2 - Ankundingstad",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "created_at": 1763395549,
      "updated_at": 1763395549
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/fences",
      "last_href": "http://example.org/api/v4/fences",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1754838349,
      "beacons": 1759676749,
      "desktop_presences": 1758726349,
      "favorites": 1756911949,
      "fences": 1763395549,
      "groups": 1759071949,
      "networks": 1758035149,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null
  }
}

Update a fence

Updates an existing fence. Users must have a role that permits managing the company to update fences.

Punto de llegada

PATCH /api/v4/fences/:id

Parametros

Name Description
fence[name] (string) the name of the fence
fence[latitude] (float) the latitude of the center point of the fence
fence[longitude] (float) the longitude of the center point of the fence
fence[radius] (integer) the radius of the fence, in meters
fence[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
fence[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
fence[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
fence[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'

Solicitud

Ruta

PATCH /api/v4/fences/382

Encabezados

Content-Type: application/json
Authorization: Bearer RZrLoFQgm6lmnmci3GmrVDS7LaS6Zw0ZVpdnL2RrflE

Cuerpo

{
  "fence": {
    "name": "My Renamed Geofence"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/fences/382" -d '{"fence":{"name":"My Renamed Geofence"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer RZrLoFQgm6lmnmci3GmrVDS7LaS6Zw0ZVpdnL2RrflE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
fences (object) the newly updated fence attributes

Estado

200

Encabezados

ETag: W/"216e2bc666f14b7c6d4a3ec764a8a4ed"

Cuerpo

{
  "fences": {
    "id": "382",
    "name": "My Renamed Geofence",
    "latitude": "-2.2843995113",
    "longitude": "-100.7233948425",
    "radius": 13950,
    "comment_on_entry": "In at 4 - North Saturnina",
    "comment_on_exit": "Left 4 - North Saturnina",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "created_at": 1763395549,
    "updated_at": 1763395549
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1756652749,
      "beacons": 1759503949,
      "desktop_presences": 1758121549,
      "favorites": 1760540749,
      "fences": 1763395549,
      "groups": 1755875149,
      "networks": 1756566349,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null
  }
}

Groups

Create a group

Creates a new group. Once this group is created, it will appear in the company’s groups within the Simple In/Out apps and website. Users must have a role that permits managing groups/memberships to create groups. Companies are limited to 100 Groups.

Punto de llegada

POST /api/v4/groups

Parametros

Name Description
group[name] requerido (string) the name of the group

Solicitud

Ruta

POST /api/v4/groups

Encabezados

Content-Type: application/json
Authorization: Bearer NRDLUJ1FuiXB94VETUACujcbiD40PThX9sS-Hv8aCkA

Cuerpo

{
  "group": {
    "name": "New Department"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/groups" -d '{"group":{"name":"New Department"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer NRDLUJ1FuiXB94VETUACujcbiD40PThX9sS-Hv8aCkA"

Respuesta

Simulated Response

Campos de respuesta

Name Description
groups (object) the newly created group attributes

Estado

201

Encabezados

ETag: W/"c78923a571c1be8a21ff758f6e68b484"

Cuerpo

{
  "groups": {
    "id": "2299",
    "name": "New Department"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1761318350,
      "beacons": 1756047950,
      "desktop_presences": 1756307150,
      "favorites": 1756652750,
      "fences": 1762358750,
      "groups": 1763395550,
      "networks": 1758294350,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Delete a group

Deletes an existing group. Users must have a role that permits managing groups/memberships to delete groups.

Punto de llegada

DELETE /api/v4/groups/:id

Solicitud

Ruta

DELETE /api/v4/groups/2298

Encabezados

Content-Type: application/json
Authorization: Bearer Zwous2dXX74ajHxO6aojBMS3gM_qY5Sf8Kce7tGfoMY

cURL

curl "https://www.simpleinout.com/api/v4/groups/2298" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer Zwous2dXX74ajHxO6aojBMS3gM_qY5Sf8Kce7tGfoMY"

Respuesta

Simulated Response

Estado

204

List all groups

Return a list of all the groups belonging to the company.

Punto de llegada

GET /api/v4/groups

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/groups

Encabezados

Content-Type: application/json
Authorization: Bearer K928dHHcqDA7fyvFsmpAkhQoQvwMkxqqeodnHpsMgko

cURL

curl -g "https://www.simpleinout.com/api/v4/groups" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer K928dHHcqDA7fyvFsmpAkhQoQvwMkxqqeodnHpsMgko"

Respuesta

Simulated Response

Campos de respuesta

Name Description
groups (array) an array of groups

Estado

200

Encabezados

ETag: W/"e2f2fbf9f1f525af303ba2d4cc86834c"
Last-Modified: Mon, 17 Nov 2025 16:05:50 GMT

Cuerpo

{
  "groups": [
    {
      "id": "2296",
      "name": "Leuschke, Green and Harris8"
    },
    {
      "id": "2297",
      "name": "Rogahn-Abshire9"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/groups",
      "last_href": "http://example.org/api/v4/groups",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1758899150,
      "beacons": 1760108750,
      "desktop_presences": 1759503950,
      "favorites": 1757689550,
      "fences": 1761750350,
      "groups": 1763395550,
      "networks": 1763222750,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Update a group

Updates an existing group. Users must have a role that permits managing groups/memberships to update groups.

Punto de llegada

PATCH /api/v4/groups/:id

Parametros

Name Description
group[name] (string) the name of the group

Solicitud

Ruta

PATCH /api/v4/groups/2300

Encabezados

Content-Type: application/json
Authorization: Bearer 9BNeH0gNkjf_IHWl7ZioLV4tBye_znhkLF8-17VQ230

Cuerpo

{
  "group": {
    "name": "Renamed Department"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/groups/2300" -d '{"group":{"name":"Renamed Department"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 9BNeH0gNkjf_IHWl7ZioLV4tBye_znhkLF8-17VQ230"

Respuesta

Simulated Response

Campos de respuesta

Name Description
groups (object) the newly updated group attributes

Estado

200

Encabezados

ETag: W/"cd8a10c5fb3d90853660bb15c8717a8f"

Cuerpo

{
  "groups": {
    "id": "2300",
    "name": "Renamed Department"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1755702350,
      "beacons": 1756393550,
      "desktop_presences": 1757257550,
      "favorites": 1756998350,
      "fences": 1761491150,
      "groups": 1763395550,
      "networks": 1760367950,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Keys

List all keys

Retrieve the secret API keys needed for the authorized application. This API can be accessed with user credentials or user-less client credentials, and you must have executive scope (Simply Made Apps only).

Punto de llegada

GET /api/v4/keys

Solicitud

Ruta

GET /api/v4/keys

Encabezados

Content-Type: application/json
Authorization: Bearer F0gH5e8HC1HAE-uMv7cKIPk1w8lHam9fzg2c4DjMsS8

cURL

curl -g "https://www.simpleinout.com/api/v4/keys" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer F0gH5e8HC1HAE-uMv7cKIPk1w8lHam9fzg2c4DjMsS8"

Respuesta

Simulated Response

Estado

200

Encabezados

ETag: W/"6c2d7c231405feecdfd70774e47b5535"

Cuerpo

{
  "keys": {
    "MY_SECRET_KEY": "abc1234567",
    "ANOTHER_KEY": "xyz0987654321"
  }
}

Networks

Create a network

Creates a new network. Once this network is created, it will appear in the company’s networks within the Simple In/Out apps. Users must have a role that permits managing the company to create networks. Companies are limited to 100 Networks.

Punto de llegada

POST /api/v4/networks

Parametros

Name Description
network[name] requerido (string) the name of the network, no longer than 44 characters
network[ssid] requerido (string) the unique network identifier, no longer than 250 characters
network[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
network[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
network[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
network[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'
network[nodes] (array) an array of BSSIDs that are the only network equipment associated with this network (if empty all networks with this SSID are valid)

Solicitud

Ruta

POST /api/v4/networks

Encabezados

Content-Type: application/json
Authorization: Bearer L04080sLKcFri8Ub0Pz5Pu35K9KjY03OR4jFJYkE-HE

Cuerpo

{
  "network": {
    "name": "My Office",
    "ssid": "Office WiFi Hotspot",
    "nodes": [
      "00:1A:2B:3C:4D:5E",
      "00:1A:2B:3C:4D:5F"
    ]
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/networks" -d '{"network":{"name":"My Office","ssid":"Office WiFi Hotspot","nodes":["00:1A:2B:3C:4D:5E","00:1A:2B:3C:4D:5F"]}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer L04080sLKcFri8Ub0Pz5Pu35K9KjY03OR4jFJYkE-HE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
networks (object) the newly created network attributes

Estado

201

Encabezados

ETag: W/"55c5777f43a0856a9bf59f15dc79aba0"

Cuerpo

{
  "networks": {
    "id": "376",
    "name": "My Office",
    "ssid": "Office WiFi Hotspot",
    "comment_on_entry": "In at My Office",
    "comment_on_exit": "Left My Office",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "nodes": [
      "00:1A:2B:3C:4D:5E",
      "00:1A:2B:3C:4D:5F"
    ],
    "created_at": 1763395546,
    "updated_at": 1763395546
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1758035146,
      "beacons": 1758639946,
      "desktop_presences": 1761318346,
      "favorites": 1754924746,
      "fences": 1757862346,
      "groups": 1763222746,
      "networks": 1763395546,
      "roles": 1763395546,
      "settings": 1763395546
    },
    "emergency": null
  }
}

Delete a network

Deletes an existing network. Users must have a role that permits managing the company to delete networks.

Punto de llegada

DELETE /api/v4/networks/:id

Solicitud

Ruta

DELETE /api/v4/networks/374

Encabezados

Content-Type: application/json
Authorization: Bearer _aziP9oEAZA_3zLew3dfxHCqABAvJZR2_Es0TB_zqfU

cURL

curl "https://www.simpleinout.com/api/v4/networks/374" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer _aziP9oEAZA_3zLew3dfxHCqABAvJZR2_Es0TB_zqfU"

Respuesta

Simulated Response

Estado

204

List all networks

Return a list of all the networks belonging to the company.

Punto de llegada

GET /api/v4/networks

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/networks

Encabezados

Content-Type: application/json
Authorization: Bearer myjQJAheXQyq3hUbhZNY-JWre0IxSNQH-Fmwz4IPQok

cURL

curl -g "https://www.simpleinout.com/api/v4/networks" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer myjQJAheXQyq3hUbhZNY-JWre0IxSNQH-Fmwz4IPQok"

Respuesta

Simulated Response

Campos de respuesta

Name Description
networks (array) an array of networks

Estado

200

Encabezados

ETag: W/"d04078d9c183ab400cab53f2118c0e67"
Last-Modified: Mon, 17 Nov 2025 16:05:46 GMT

Cuerpo

{
  "networks": [
    {
      "id": "377",
      "name": "3 - New Moises",
      "ssid": "gvu86z53po34bebvbaplynvh4zibuxqm",
      "comment_on_entry": "In at 3 - New Moises",
      "comment_on_exit": "Left 3 - New Moises",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "nodes": [

      ],
      "created_at": 1763395546,
      "updated_at": 1763395546
    },
    {
      "id": "378",
      "name": "4 - Ziemannfort",
      "ssid": "h9yldqhoi17icq8blg9ye1l46l5wvh98",
      "comment_on_entry": "In at 4 - Ziemannfort",
      "comment_on_exit": "Left 4 - Ziemannfort",
      "entry": true,
      "exit": true,
      "status_on_entry": "in",
      "status_on_exit": "out",
      "nodes": [

      ],
      "created_at": 1763395546,
      "updated_at": 1763395546
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/networks",
      "last_href": "http://example.org/api/v4/networks",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1759244746,
      "beacons": 1759676746,
      "desktop_presences": 1760540746,
      "favorites": 1762877146,
      "fences": 1755615946,
      "groups": 1755529546,
      "networks": 1763395546,
      "roles": 1763395546,
      "settings": 1763395546
    },
    "emergency": null
  }
}

Update a network

Updates an existing network. Please note that if the SSID of the network is updated, any corresponding hardware must also be updated to broadcast the new SSID. Users must have a role that permits managing the company to update networks.

Punto de llegada

PATCH /api/v4/networks/:id

Parametros

Name Description
network[name] (string) the name of the network, no longer than 44 characters
network[ssid] (string) the unique network identifier, no longer than 250 characters
network[comment_on_entry] (string) the comment applied to status updates on entry, defaults to 'In at {name}'
network[comment_on_exit] (string) the comment applied to status updates on exit, defaults to 'Left {name}'
network[status_on_entry] (string) the status to apply on entry: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'in'
network[status_on_exit] (string) the status to apply on exit: 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'off', defaults to 'out'
network[nodes] (array) an array of BSSIDs that are the only network equipment associated with this network (if empty all networks with this SSID are valid)

Solicitud

Ruta

PATCH /api/v4/networks/375

Encabezados

Content-Type: application/json
Authorization: Bearer aKvAnwTgQi3oIZwsBuzZnEXIBeIblvXZ4HfEl7C_SM0

Cuerpo

{
  "network": {
    "name": "My Renamed Office",
    "nodes": [
      "00:1A:2B:3C:4D:5E",
      "00:1A:2B:3C:4D:5F"
    ]
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/networks/375" -d '{"network":{"name":"My Renamed Office","nodes":["00:1A:2B:3C:4D:5E","00:1A:2B:3C:4D:5F"]}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer aKvAnwTgQi3oIZwsBuzZnEXIBeIblvXZ4HfEl7C_SM0"

Respuesta

Simulated Response

Campos de respuesta

Name Description
networks (object) the newly updated network attributes

Estado

200

Encabezados

ETag: W/"a9c6d1e5e278d719d8d5afc847211ee6"

Cuerpo

{
  "networks": {
    "id": "375",
    "name": "My Renamed Office",
    "ssid": "0iql1vka2if0azz23qsvl9sjmw9eisab",
    "comment_on_entry": "In at 2 - South Leigha",
    "comment_on_exit": "Left 2 - South Leigha",
    "entry": true,
    "exit": true,
    "status_on_entry": "in",
    "status_on_exit": "out",
    "nodes": [
      "00:1A:2B:3C:4D:5E",
      "00:1A:2B:3C:4D:5F"
    ],
    "created_at": 1763395546,
    "updated_at": 1763395546
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1760108746,
      "beacons": 1762358746,
      "desktop_presences": 1758294346,
      "favorites": 1754924746,
      "fences": 1758553546,
      "groups": 1757775946,
      "networks": 1763395546,
      "roles": 1763395546,
      "settings": 1763395546
    },
    "emergency": null
  }
}

Ok

Make sure things are Ok

This API is only used to verify you’ve successfully authorized.

Punto de llegada

GET /api/v4/ok

Parametros

Name Description
meta (string) if any value included, will return meta information instead of a 204 No Content response

Solicitud

Ruta

GET /api/v4/ok

Encabezados

Content-Type: application/json
Authorization: Bearer 94A7PhfI_rClUKHZnPLgm6GvhzoEnURjCKi0NHkNO3U

cURL

curl -g "https://www.simpleinout.com/api/v4/ok" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 94A7PhfI_rClUKHZnPLgm6GvhzoEnURjCKi0NHkNO3U"

Respuesta

Simulated Response

Estado

204

Passwords

Reset a password

Sends the password reset instructions email if a matching user is found. The response status will be 404 (not found) if there is no user with the email address. This API requires a user-less Client Credential grant, and you must have executive scope (Simply Made Apps only).

Punto de llegada

POST /api/v4/passwords

Parametros

Name Description
email requerido (string) the email of the user

Solicitud

Ruta

POST /api/v4/passwords

Encabezados

Content-Type: application/json
Authorization: Bearer 1D0TS0pUqVXTO3RgWogCmMok_bPv9NCXaBO10W6zC38

Cuerpo

{
  "email": "sterling@simplymadeapps.com"
}

cURL

curl "https://www.simpleinout.com/api/v4/passwords" -d '{"email":"sterling@simplymadeapps.com"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer 1D0TS0pUqVXTO3RgWogCmMok_bPv9NCXaBO10W6zC38"

Respuesta

Simulated Response

Estado

204

Roles

Create a role

Creates a new role. Once this role is created, it will be available to assign to users within the Simple In/Out apps and website. Users must have a role that permits managing the company to create roles. Companies are limited to 100 Roles.

Punto de llegada

POST /api/v4/roles

Parametros

Name Description
role[name] requerido (string) the name of the role, no longer than 255 characters, must be unique for the company
role[billing] (boolean) these users can change the company's plan, credit card, and invoice email/information.
role[followed_users] (boolean) these users can receive notifications on their devices when another user updates their status.
role[reminders] (boolean) these users can manage notifications sent to other users reminding them to update their status.
role[safeties] (boolean) these users can receive notifications when another user hasn't updated their status.
role[user_board] (boolean) these users can see all other users and their current status.
role[manage_all_announcements] (boolean) these users can manage all announcements.
role[manage_groups_and_memberships] (boolean) these users can manage groups and which users are assigned to each group.
role[manage_others_archives] (boolean) these users can change the past statuses of all others by adding and deleting status updates.
role[manage_others_futures] (boolean) these users can schedule future status updates for all other users.
role[manage_others_status] (boolean) these users can change the current status of all users.
role[manage_own_archives] (boolean) these users can change their own past statuses by adding and deleting status updates.
role[manage_own_futures] (boolean) these users can schedule future status updates for themselves.
role[manage_own_status] (boolean) these users can update their own status from any device or the website
role[manage_status_automatically] (boolean) these users can manage their own current status automatically using Geofences, Beacons, Networks, and Desktop Presence.
role[view_all_announcements] (boolean) these users can view all announcements.
role[view_others_archives] (boolean) these users can view the past status updates made by all other users.
role[view_others_futures] (boolean) these users can view the scheduled status updates for all users.
role[view_others_reports] (boolean) these users can run reports on the status history of all other users.
role[view_user_board_updated_at] (boolean) these users can view the time that status updates were made on the board.
role[member_board] (boolean) these users can see other users within the same groups and their current status.
role[manage_member_announcements] (boolean) these users can manage announcements within the same groups.
role[manage_member_archives] (boolean) these users can change the past statuses of users within the same groups by adding and deleting status updates.
role[manage_member_futures] (boolean) these users can schedule future status updates for users within the same groups.
role[manage_member_status] (boolean) these users can change the current status of users within the same groups.
role[view_member_announcements] (boolean) these users can view announcements for everyone and the groups they belong to.
role[view_member_archives] (boolean) these users can view the past status updates made by users within the same groups.
role[view_member_futures] (boolean) these users can view the scheduled status updates for users within the same groups.
role[view_member_reports] (boolean) these users can run reports on the status history of users within the same groups.

Solicitud

Ruta

POST /api/v4/roles

Encabezados

Content-Type: application/json
Authorization: Bearer Z6FY2wRRoKZlPlSsUlVpbFvOBz6bL0Nm2b5B7D0tgG8

Cuerpo

{
  "role": {
    "name": "Billing Role",
    "billing": true,
    "followed_users": false,
    "reminders": false,
    "safeties": false,
    "user_board": false,
    "manage_all_announcements": false,
    "manage_groups_and_memberships": false,
    "manage_others_archives": false,
    "manage_others_futures": false,
    "manage_others_status": false,
    "manage_own_archives": false,
    "manage_own_futures": false,
    "manage_own_status": false,
    "manage_status_automatically": false,
    "view_all_announcements": true,
    "view_others_archives": false,
    "view_others_futures": false,
    "view_others_reports": false,
    "view_user_board_updated_at": false,
    "member_board": false,
    "manage_member_announcements": false,
    "manage_member_archives": false,
    "manage_member_futures": false,
    "manage_member_status": false,
    "view_member_announcements": false,
    "view_member_archives": false,
    "view_member_futures": false,
    "view_member_reports": false
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/roles" -d '{"role":{"name":"Billing Role","billing":true,"followed_users":false,"reminders":false,"safeties":false,"user_board":false,"manage_all_announcements":false,"manage_groups_and_memberships":false,"manage_others_archives":false,"manage_others_futures":false,"manage_others_status":false,"manage_own_archives":false,"manage_own_futures":false,"manage_own_status":false,"manage_status_automatically":false,"view_all_announcements":true,"view_others_archives":false,"view_others_futures":false,"view_others_reports":false,"view_user_board_updated_at":false,"member_board":false,"manage_member_announcements":false,"manage_member_archives":false,"manage_member_futures":false,"manage_member_status":false,"view_member_announcements":false,"view_member_archives":false,"view_member_futures":false,"view_member_reports":false}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer Z6FY2wRRoKZlPlSsUlVpbFvOBz6bL0Nm2b5B7D0tgG8"

Respuesta

Simulated Response

Campos de respuesta

Name Description
roles (object) the newly created role attributes

Estado

201

Encabezados

ETag: W/"dfe1b033c259136d853e65d3f86aeee5"

Cuerpo

{
  "roles": {
    "id": "101040",
    "name": "Billing Role",
    "billing": true,
    "followed_users": false,
    "reminders": false,
    "safeties": false,
    "user_board": false,
    "manage_all_announcements": false,
    "manage_company_and_users": false,
    "manage_groups_and_memberships": false,
    "manage_member_announcements": false,
    "manage_others_archives": false,
    "manage_others_futures": false,
    "manage_others_status": false,
    "manage_own_archives": false,
    "manage_own_futures": false,
    "manage_own_status": false,
    "manage_status_automatically": false,
    "view_all_announcements": true,
    "view_member_announcements": false,
    "view_others_archives": false,
    "view_others_futures": false,
    "view_others_reports": false,
    "member_board": false,
    "manage_member_archives": false,
    "manage_member_futures": false,
    "manage_member_status": false,
    "view_member_archives": false,
    "view_member_futures": false,
    "view_member_reports": false,
    "view_user_board_updated_at": false,
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1758726348,
      "beacons": 1756479948,
      "desktop_presences": 1757775948,
      "favorites": 1758380748,
      "fences": 1760454348,
      "groups": 1756134348,
      "networks": 1762704348,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Delete a role

Deletes an existing role. Users must have a role that permits managing the company to delete roles.

Punto de llegada

DELETE /api/v4/roles/:id

Solicitud

Ruta

DELETE /api/v4/roles/101045

Encabezados

Content-Type: application/json
Authorization: Bearer _Ss5-4gT8QEM4dGzlCETTpDFaBzJK2Th6aLDtrG_ogY

cURL

curl "https://www.simpleinout.com/api/v4/roles/101045" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer _Ss5-4gT8QEM4dGzlCETTpDFaBzJK2Th6aLDtrG_ogY"

Respuesta

Simulated Response

Estado

204

List all roles

Return a list of all the roles belonging to the company.

Punto de llegada

GET /api/v4/roles

Parametros

Name Description
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/roles

Encabezados

Content-Type: application/json
Authorization: Bearer VVkEv1Uo3yUc3vmSOkdtZpxJCEP7Sq2M7NyFmdCYJuU

cURL

curl -g "https://www.simpleinout.com/api/v4/roles" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer VVkEv1Uo3yUc3vmSOkdtZpxJCEP7Sq2M7NyFmdCYJuU"

Respuesta

Simulated Response

Campos de respuesta

Name Description
roles (array) an array of roles

Estado

200

Encabezados

ETag: W/"1f3fdcecd0a7bba1642751eaa80653c5"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "roles": [
    {
      "id": "101047",
      "name": "Manager",
      "billing": false,
      "followed_users": false,
      "reminders": false,
      "safeties": false,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": false,
      "manage_groups_and_memberships": false,
      "manage_member_announcements": false,
      "manage_others_archives": false,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": false,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "view_user_board_updated_at": true,
      "created_at": 1763395548,
      "updated_at": 1763395548
    },
    {
      "id": "101049",
      "name": "Limited User",
      "billing": false,
      "followed_users": false,
      "reminders": false,
      "safeties": false,
      "user_board": true,
      "manage_all_announcements": false,
      "manage_company_and_users": false,
      "manage_groups_and_memberships": false,
      "manage_member_announcements": false,
      "manage_others_archives": false,
      "manage_others_futures": false,
      "manage_others_status": false,
      "manage_own_archives": false,
      "manage_own_futures": false,
      "manage_own_status": false,
      "manage_status_automatically": false,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": false,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "view_user_board_updated_at": true,
      "created_at": 1763395548,
      "updated_at": 1763395548
    },
    {
      "id": "101046",
      "name": "Administrator",
      "billing": true,
      "followed_users": true,
      "reminders": true,
      "safeties": true,
      "user_board": true,
      "manage_all_announcements": true,
      "manage_company_and_users": true,
      "manage_groups_and_memberships": true,
      "manage_member_announcements": false,
      "manage_others_archives": true,
      "manage_others_futures": true,
      "manage_others_status": true,
      "manage_own_archives": true,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": true,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "view_user_board_updated_at": true,
      "created_at": 1763395548,
      "updated_at": 1763395548
    },
    {
      "id": "101048",
      "name": "Regular User",
      "billing": false,
      "followed_users": false,
      "reminders": false,
      "safeties": false,
      "user_board": true,
      "manage_all_announcements": false,
      "manage_company_and_users": false,
      "manage_groups_and_memberships": false,
      "manage_member_announcements": false,
      "manage_others_archives": false,
      "manage_others_futures": false,
      "manage_others_status": false,
      "manage_own_archives": false,
      "manage_own_futures": true,
      "manage_own_status": true,
      "manage_status_automatically": true,
      "view_all_announcements": true,
      "view_member_announcements": false,
      "view_others_archives": true,
      "view_others_futures": true,
      "view_others_reports": false,
      "member_board": false,
      "manage_member_archives": false,
      "manage_member_futures": false,
      "manage_member_status": false,
      "view_member_archives": false,
      "view_member_futures": false,
      "view_member_reports": false,
      "view_user_board_updated_at": true,
      "created_at": 1763395548,
      "updated_at": 1763395548
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 4,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/roles",
      "last_href": "http://example.org/api/v4/roles",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1755615948,
      "beacons": 1755788748,
      "desktop_presences": 1758553548,
      "favorites": 1758553548,
      "fences": 1762790748,
      "groups": 1762445148,
      "networks": 1759071948,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Retrieve a role

Retrieve an existing role.

Punto de llegada

GET /api/v4/roles/:id

Solicitud

Ruta

GET /api/v4/roles/101054

Encabezados

Content-Type: application/json
Authorization: Bearer KdbTkYT1pVGpG497pCA6Hz1-0P3QsDlsIMUrcSyGgXE

cURL

curl -g "https://www.simpleinout.com/api/v4/roles/101054" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer KdbTkYT1pVGpG497pCA6Hz1-0P3QsDlsIMUrcSyGgXE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
roles (object) the role attributes

Estado

200

Encabezados

ETag: W/"d0de979c2960ee077633eec3e4c51201"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "roles": {
    "id": "101054",
    "name": "Hamill-Kuhn",
    "billing": false,
    "followed_users": false,
    "reminders": false,
    "safeties": false,
    "user_board": false,
    "manage_all_announcements": false,
    "manage_company_and_users": false,
    "manage_groups_and_memberships": false,
    "manage_member_announcements": false,
    "manage_others_archives": false,
    "manage_others_futures": false,
    "manage_others_status": false,
    "manage_own_archives": false,
    "manage_own_futures": false,
    "manage_own_status": false,
    "manage_status_automatically": false,
    "view_all_announcements": true,
    "view_member_announcements": false,
    "view_others_archives": false,
    "view_others_futures": false,
    "view_others_reports": false,
    "member_board": false,
    "manage_member_archives": false,
    "manage_member_futures": false,
    "manage_member_status": false,
    "view_member_archives": false,
    "view_member_futures": false,
    "view_member_reports": false,
    "view_user_board_updated_at": false,
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762099548,
      "beacons": 1757257548,
      "desktop_presences": 1762877148,
      "favorites": 1759244748,
      "fences": 1758121548,
      "groups": 1761491148,
      "networks": 1760540748,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Update a role

Updates an existing role. Users must have a role that permits managing the company to update roles.

Punto de llegada

PATCH /api/v4/roles/:id

Parametros

Name Description
role[name] requerido (string) the name of the role, no longer than 255 characters, must be unique for the company
role[billing] (boolean) these users can change the company's plan, credit card, and invoice email/information.
role[followed_users] (boolean) these users can receive notifications on their devices when another user updates their status.
role[reminders] (boolean) these users can manage notifications sent to other users reminding them to update their status.
role[safeties] (boolean) these users can receive notifications when another user hasn't updated their status.
role[user_board] (boolean) these users can see all other users and their current status.
role[manage_all_announcements] (boolean) these users can manage all announcements.
role[manage_groups_and_memberships] (boolean) these users can manage groups and which users are assigned to each group.
role[manage_others_archives] (boolean) these users can change the past statuses of all others by adding and deleting status updates.
role[manage_others_futures] (boolean) these users can schedule future status updates for all other users.
role[manage_others_status] (boolean) these users can change the current status of all users.
role[manage_own_archives] (boolean) these users can change their own past statuses by adding and deleting status updates.
role[manage_own_futures] (boolean) these users can schedule future status updates for themselves.
role[manage_own_status] (boolean) these users can update their own status from any device or the website
role[manage_status_automatically] (boolean) these users can manage their own current status automatically using Geofences, Beacons, Networks, and Desktop Presence.
role[view_all_announcements] (boolean) these users can view all announcements.
role[view_others_archives] (boolean) these users can view the past status updates made by all other users.
role[view_others_futures] (boolean) these users can view the scheduled status updates for all users.
role[view_others_reports] (boolean) these users can run reports on the status history of all other users.
role[view_user_board_updated_at] (boolean) these users can view the time that status updates were made on the board.
role[member_board] (boolean) these users can see other users within the same groups and their current status.
role[manage_member_announcements] (boolean) these users can manage announcements within the same groups.
role[manage_member_archives] (boolean) these users can change the past statuses of users within the same groups by adding and deleting status updates.
role[manage_member_futures] (boolean) these users can schedule future status updates for users within the same groups.
role[manage_member_status] (boolean) these users can change the current status of users within the same groups.
role[view_member_announcements] (boolean) these users can view announcements for everyone and the groups they belong to.
role[view_member_archives] (boolean) these users can view the past status updates made by users within the same groups.
role[view_member_futures] (boolean) these users can view the scheduled status updates for users within the same groups.
role[view_member_reports] (boolean) these users can run reports on the status history of users within the same groups.

Solicitud

Ruta

PATCH /api/v4/roles/101059

Encabezados

Content-Type: application/json
Authorization: Bearer rnt0odPy6qNv3LSldzoph-elyQgWkQGiEclhpWAnu1E

Cuerpo

{
  "role": {
    "name": "My Renamed Role",
    "billing": false,
    "view_others_archives": true,
    "view_others_futures": true
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/roles/101059" -d '{"role":{"name":"My Renamed Role","billing":false,"view_others_archives":true,"view_others_futures":true}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer rnt0odPy6qNv3LSldzoph-elyQgWkQGiEclhpWAnu1E"

Respuesta

Simulated Response

Campos de respuesta

Name Description
roles (object) the newly updated role attributes

Estado

200

Encabezados

ETag: W/"6fe7d5e9235c4421aeb8d6ee97822092"

Cuerpo

{
  "roles": {
    "id": "101059",
    "name": "My Renamed Role",
    "billing": false,
    "followed_users": false,
    "reminders": false,
    "safeties": false,
    "user_board": false,
    "manage_all_announcements": false,
    "manage_company_and_users": false,
    "manage_groups_and_memberships": false,
    "manage_member_announcements": false,
    "manage_others_archives": false,
    "manage_others_futures": false,
    "manage_others_status": false,
    "manage_own_archives": false,
    "manage_own_futures": false,
    "manage_own_status": false,
    "manage_status_automatically": false,
    "view_all_announcements": true,
    "view_member_announcements": false,
    "view_others_archives": true,
    "view_others_futures": true,
    "view_others_reports": false,
    "member_board": false,
    "manage_member_archives": false,
    "manage_member_futures": false,
    "manage_member_status": false,
    "view_member_archives": false,
    "view_member_futures": false,
    "view_member_reports": false,
    "view_user_board_updated_at": false,
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1757603148,
      "beacons": 1758467148,
      "desktop_presences": 1755443148,
      "favorites": 1757343948,
      "fences": 1762099548,
      "groups": 1760540748,
      "networks": 1760799948,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

Safeties

Create a safety

Creates a new safety. Two types of safeties can be created. If ‘run_time’ is given, the notification will go out if there are any users with the matching status at the given time. If ‘unsafe_after’ is given, a notification will go out any time a user is in the given status for the given length of time. Users must have a role that permits using safety notifications to create safeties, and the company must be on a plan that allows for safety notifications.

Punto de llegada

POST /api/v4/safeties

Parametros

Name Description
safety[device_id] requerido (string) the ID of the device that will receive notifications
safety[group_id] (string) the ID of the group to observe, the entire company will be observed if no group is assigned
safety[name] requerido (string) the label to apply to the safety
safety[run_time] (string) the time to check for unsafe users in 24-hour format at 5 minute intervals, run_time or unsafe_after is required
safety[run_time_zone] requerido (string) the time zone of the run time, required if run_time is given
safety[status] requerido (string) the status that determines if a user is unsafe: 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
safety[unsafe_after] (integer) the length of time, in hours, for a user with the matching status to be considered unsafe, run_time or unsafe_after is required
safety[wdays] requerido (string) days that safety notifications are enabled in the format '0123456', which each number equal to a weekday (0=Sunday, 1=Monday, etc)

Solicitud

Ruta

POST /api/v4/safeties

Encabezados

Content-Type: application/json
Authorization: Bearer FO1-xoQRtU-pMR1lCJCO982Tb_nzj3z5Q3RsrTQTM2o

Cuerpo

{
  "safety": {
    "device_id": 2249,
    "name": "Safety Alert",
    "run_time": "17:00",
    "run_time_zone": "America/Chicago",
    "status": "in",
    "wdays": "12345"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/safeties" -d '{"safety":{"device_id":2249,"name":"Safety Alert","run_time":"17:00","run_time_zone":"America/Chicago","status":"in","wdays":"12345"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer FO1-xoQRtU-pMR1lCJCO982Tb_nzj3z5Q3RsrTQTM2o"

Respuesta

Simulated Response

Campos de respuesta

Name Description
safeties (object) the newly created safety attributes

Estado

201

Encabezados

ETag: W/"700856dca76331b8213356c8e378beec"

Cuerpo

{
  "safeties": {
    "id": "544",
    "device_id": "2249",
    "group_id": null,
    "name": "Safety Alert",
    "run_time": "17:00",
    "run_time_zone": "America/Chicago",
    "status": "in",
    "unsafe_after": null,
    "wdays": "12345",
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759158348,
      "beacons": 1760454348,
      "desktop_presences": 1761663948,
      "favorites": 1759849548,
      "fences": 1759763148,
      "groups": 1759849548,
      "networks": 1757689548,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Delete a safety

Deletes an existing safety. Users must have a role that permits using safety notifications to delete safeties, and the company must be on a plan that allows for safety notifications.

Punto de llegada

DELETE /api/v4/safeties/:id

Solicitud

Ruta

DELETE /api/v4/safeties/543

Encabezados

Content-Type: application/json
Authorization: Bearer Qe1zJuFcA8F_Hs5Vur4F-DQ9rNcQJEp8n4NKRyeSpGw

cURL

curl "https://www.simpleinout.com/api/v4/safeties/543" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer Qe1zJuFcA8F_Hs5Vur4F-DQ9rNcQJEp8n4NKRyeSpGw"

Respuesta

Simulated Response

Estado

204

List all safeties

Return a list of all safeties belonging to the device. Users must have a role that permits using safety notifications to list safeties, and the company must be on a plan that allows for safety notifications.

Punto de llegada

GET /api/v4/safeties

Parametros

Name Description
device_id requerido (string) the unique ID of the device
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/safeties?device_id=2250

Encabezados

Content-Type: application/json
Authorization: Bearer 30tVoJ_-7IlcqIQfubiTGICUPDbwRCQFJep3nAoi4Xg

Parámetros de la consulta

device_id=2250

cURL

curl -g "https://www.simpleinout.com/api/v4/safeties?device_id=2250" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer 30tVoJ_-7IlcqIQfubiTGICUPDbwRCQFJep3nAoi4Xg"

Respuesta

Simulated Response

Campos de respuesta

Name Description
safeties (array) an array of safety notification settings

Estado

200

Encabezados

ETag: W/"b07704a0ed59d7e58dbef29e124d200b"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "safeties": [
    {
      "id": "545",
      "device_id": "2250",
      "group_id": null,
      "name": "Safety Alert",
      "run_time": "22:00",
      "run_time_zone": "America/Chicago",
      "status": "out",
      "unsafe_after": null,
      "wdays": "0123456",
      "created_at": 1763395548,
      "updated_at": 1763395548
    },
    {
      "id": "546",
      "device_id": "2250",
      "group_id": null,
      "name": "Safety Alert",
      "run_time": null,
      "run_time_zone": "America/Chicago",
      "status": "out",
      "unsafe_after": 5,
      "wdays": "0123456",
      "created_at": 1763395548,
      "updated_at": 1763395548
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/safeties?device_id=2250",
      "last_href": "http://example.org/api/v4/safeties?device_id=2250",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1758553548,
      "beacons": 1761231948,
      "desktop_presences": 1761059148,
      "favorites": 1756047948,
      "fences": 1757862348,
      "groups": 1763309148,
      "networks": 1763049948,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Retrieve a safety

Retrieve an existing safety. Users must have a role that permits using safety notifications to retrieve safeties, and the company must be on a plan that allows for safety notifications.

Punto de llegada

GET /api/v4/safeties/:id

Parametros

Name Description
expand (string) set to 'users' to include the unsafe users

Solicitud

Ruta

GET /api/v4/safeties/542?expand=users

Encabezados

Content-Type: application/json
Authorization: Bearer 56psyEL9dV9kQNmChMpW7vH1spBOQKIUeHxZmvAQ3gQ

Parámetros de la consulta

expand=users

cURL

curl -g "https://www.simpleinout.com/api/v4/safeties/542?expand=users" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer 56psyEL9dV9kQNmChMpW7vH1spBOQKIUeHxZmvAQ3gQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
safeties (object) the safety attributes
users (array) an array of users considered unsafe

Estado

200

Encabezados

ETag: W/"5854c4f1640c48e8ef02880a21eb5a7f"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "safeties": {
    "id": "542",
    "device_id": "2247",
    "group_id": null,
    "name": "Safety Alert",
    "run_time": null,
    "run_time_zone": "America/Chicago",
    "status": "in",
    "unsafe_after": 5,
    "wdays": "0123456",
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "users": [
    {
      "id": "47120",
      "name": "Dee Farrell"
    },
    {
      "id": "47119",
      "name": "Herminia Rutherford"
    }
  ],
  "meta": {
    "last_updated_at": {
      "announcements": 1760540748,
      "beacons": 1756220748,
      "desktop_presences": 1756566348,
      "favorites": 1761577548,
      "fences": 1757430348,
      "groups": 1761836748,
      "networks": 1756220748,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Update a safety

Updates an existing safety. Users must have a role that permits using safety notifications to update safeties, and the company must be on a plan that allows for safety notifications.

Punto de llegada

PATCH /api/v4/safeties/:id

Parametros

Name Description
safety[device_id] (string) the ID of the device that will receive notifications
safety[group_id] (string) the ID of the group to observe, send null to remove the group and use the entire company
safety[name] (string) the label to apply to the safety
safety[run_time] (string) the time to check for unsafe users in 24-hour format at 5 minute intervals, run_time or unsafe_after is required
safety[run_time_zone] (string) the time zone of the run time, required if run_time is given
safety[status] (string) the status that determines if a user is unsafe: 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
safety[unsafe_after] (integer) the length of time, in hours, for a user with the matching status to be considered unsafe, run_time or unsafe_after is required
safety[wdays] (string) days that safety notifications are enabled in the format '0123456', which each number equal to a weekday (0=Sunday, 1=Monday, etc)

Solicitud

Ruta

PATCH /api/v4/safeties/547

Encabezados

Content-Type: application/json
Authorization: Bearer qK_iSZK9a2J8qUafVGVPdZPBIVQjjNHmL0O6KwaLzXM

Cuerpo

{
  "safety": {
    "name": "Renamed Safety Notice"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/safeties/547" -d '{"safety":{"name":"Renamed Safety Notice"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer qK_iSZK9a2J8qUafVGVPdZPBIVQjjNHmL0O6KwaLzXM"

Respuesta

Simulated Response

Campos de respuesta

Name Description
safeties (object) the newly updated safety attributes

Estado

200

Encabezados

ETag: W/"5a0b3cb2ebb8b1230f3f45259b975863"

Cuerpo

{
  "safeties": {
    "id": "547",
    "device_id": "2251",
    "group_id": null,
    "name": "Renamed Safety Notice",
    "run_time": "22:00",
    "run_time_zone": "America/Chicago",
    "status": "out",
    "unsafe_after": null,
    "wdays": "0123456",
    "created_at": 1763395548,
    "updated_at": 1763395548
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1760195148,
      "beacons": 1756566348,
      "desktop_presences": 1761404748,
      "favorites": 1760886348,
      "fences": 1755183948,
      "groups": 1759244748,
      "networks": 1763309148,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Statuses

List statuses

List all the statuses within the time period specified by the ‘created_at’ date range. Users must have a role that permits viewing the status history of others or only the authorized user’s statuses will be returned.

Punto de llegada

GET /api/v4/statuses

Parametros

Name Description
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results
created_at requerido (string) a date range string for the time the status was created
status (string) the status: 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
comment (string) the comment, case sensitive, included with the status change
automatic (boolean) only find automatic statuses
user_id (string) the ID of a particular user
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'created_at', 'status', 'comment', 'automatic'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.memberships.group', 'user.phones', 'user.recents', 'changed_by_user', 'application'

Solicitud

Ruta

GET /api/v4/statuses?created_at=1762754400..1763013599

Encabezados

Content-Type: application/json
Authorization: Bearer 9hjQzSm6EUCpBQRQFrpR1tJAKwmk1CyKVqNyazPFSZQ

Parámetros de la consulta

created_at=1762754400..1763013599

cURL

curl -g "https://www.simpleinout.com/api/v4/statuses?created_at=1762754400..1763013599" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 9hjQzSm6EUCpBQRQFrpR1tJAKwmk1CyKVqNyazPFSZQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (array) an array of matching statuses

Estado

200

Encabezados

ETag: W/"5ab93f7c47c3625e681708635987fba3"
Last-Modified: Tue, 11 Nov 2025 15:00:00 GMT

Cuerpo

{
  "statuses": [
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762761600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": true,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762776000
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762779600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762797600
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": true,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762848000
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": true,
      "user_id": "47161",
      "changed_by_user_id": null,
      "created_at": 1762869600
    },
    {
      "status": "out",
      "comment": "On Vacation",
      "automatic": false,
      "user_id": "47161",
      "changed_by_user_id": "47162",
      "created_at": 1762873200
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 7,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/statuses?created_at=1762754400..1763013599",
      "last_href": "http://example.org/api/v4/statuses?created_at=1762754400..1763013599",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1761404749,
      "beacons": 1759763149,
      "desktop_presences": 1761231949,
      "favorites": 1758899149,
      "fences": 1758380749,
      "groups": 1756998349,
      "networks": 1755270349,
      "roles": 1763395549,
      "settings": 1763395549
    },
    "emergency": null
  }
}

Trials

Create a new trial

Create a new Simple In/Out trial company/user. This results in a HTTP 302 redirect to simpleinout.com. There, Simple In/Out will ask the user for their new company/user information and create them. Simple In/Out will send a request to your redirect_uri with a code that you will use in the Authorization Code grant to create access and refresh tokens to access the API.

Punto de llegada

GET /api/v4/trials/new

Parametros

Name Description
response_type requerido (string) the type of authorization to use, in this case always 'code'
client_id requerido (string) your API client key
redirect_uri requerido (string) the URI to return the user to after authenticating, must match those registered with Simple In/Out
scope requerido (string) requested scope, always 'executive'
locale (string) the language of your device, all values accepted

Solicitud

Ruta

GET /api/v4/trials/new?response_type=code&client_id=PLACE_YOUR_API_CLIENT_ID_HERE&redirect_uri=https%3A%2F%2Fwww.simplymadeapps.com%2Fredirect%2Furl&scope=executive&locale=en

Encabezados

Content-Type: application/json

Parámetros de la consulta

response_type=code
client_id=PLACE_YOUR_API_CLIENT_ID_HERE
redirect_uri=https://www.simplymadeapps.com/redirect/url
scope=executive
locale=en

cURL

curl -g "https://www.simpleinout.com/api/v4/trials/new?response_type=code&client_id=PLACE_YOUR_API_CLIENT_ID_HERE&redirect_uri=https%3A%2F%2Fwww.simplymadeapps.com%2Fredirect%2Furl&scope=executive&locale=en" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json"

Respuesta

Simulated Response

Estado

302

Users

Archive a user

Archives an existing user. Users must have a role that permits managing users.

Punto de llegada

POST /api/v4/users/:id/archive

Solicitud

Ruta

POST /api/v4/users/47180/archive

Encabezados

Content-Type: application/json
Authorization: Bearer flQfD6nrJYC7yHbM89x-l0ATVVbtpmMrzaNJv6alx8U

cURL

curl "https://www.simpleinout.com/api/v4/users/47180/archive" -d '' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer flQfD6nrJYC7yHbM89x-l0ATVVbtpmMrzaNJv6alx8U"

Respuesta

Simulated Response

Estado

204

Create a future status update for a user

Add a scheduled status for a specific user. Users must have a role that permits managing their own scheduled statuses if updating themselves or be permitted to manage the scheduled statuses of others if updating another user. The company must also have scheduled statuses enabled.

Punto de llegada

POST /api/v4/users/:id/futures

Parametros

Name Description
future[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
future[apply_at] requerido (integer) epoch time to apply status change, must be in the future, have minutes within (00, 15, 30, 45), and seconds of 0
future[comment] (string) up to 50 character description of the status update
future[end_at] (integer) epoch time to end the scheduled status, must be after apply_at, have minutes within (00, 15, 30, 45), and seconds of 0
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'changed_by_user'

Solicitud

Ruta

POST /api/v4/users/47099/futures

Encabezados

Content-Type: application/json
Authorization: Bearer djh2Si2cm5NTRg7bBWQRNoIbqlZnZB8_NwEkZdvfiNE

Cuerpo

{
  "future": {
    "status": "out",
    "apply_at": 1768665600,
    "comment": "On Vacation",
    "end_at": 1768924800
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/47099/futures" -d '{"future":{"status":"out","apply_at":1768665600,"comment":"On Vacation","end_at":1768924800}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer djh2Si2cm5NTRg7bBWQRNoIbqlZnZB8_NwEkZdvfiNE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
futures (object) the newly created future object

Estado

201

Encabezados

ETag: W/"b308ea3a0a8437104aa28e5c6ae4f964"

Cuerpo

{
  "futures": {
    "id": "1232",
    "status": "out",
    "comment": "On Vacation",
    "completed": false,
    "apply_at": 1768665600,
    "end_at": 1768924800,
    "user_id": "47099",
    "changed_by_user_id": "47098"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1755961547,
      "beacons": 1757516747,
      "desktop_presences": 1755270347,
      "favorites": 1755270347,
      "fences": 1755702347,
      "groups": 1755356747,
      "networks": 1763309147,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Create a future status update for the current user

Add a scheduled status for the current user. Users must have a role that permits managing their own scheduled statuses and the company must have scheduled statuses enabled.

Punto de llegada

POST /api/v4/users/my/futures

Parametros

Name Description
future[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
future[apply_at] requerido (integer) epoch time to apply status change, must be in the future and have minutes within (00, 15, 30, 45), and seconds of 0
future[comment] (string) up to 50 character description of the status update
future[end_at] (integer) epoch time to end the scheduled status, must be after apply_at, have minutes within (00, 15, 30, 45), and seconds of 0
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'changed_by_user'

Solicitud

Ruta

POST /api/v4/users/my/futures

Encabezados

Content-Type: application/json
Authorization: Bearer EYw-MeVnbyZSKJcuRIOBkXjTV0foNQ1ZB8o1t--AB6E

Cuerpo

{
  "future": {
    "status": "out",
    "apply_at": 1768665600,
    "comment": "On Vacation",
    "end_at": 1768924800
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/futures" -d '{"future":{"status":"out","apply_at":1768665600,"comment":"On Vacation","end_at":1768924800}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer EYw-MeVnbyZSKJcuRIOBkXjTV0foNQ1ZB8o1t--AB6E"

Respuesta

Simulated Response

Campos de respuesta

Name Description
futures (object) the newly created future object

Estado

201

Encabezados

ETag: W/"15ea82716241b28ea49baf493ae135ad"

Cuerpo

{
  "futures": {
    "id": "1229",
    "status": "out",
    "comment": "On Vacation",
    "completed": false,
    "apply_at": 1768665600,
    "end_at": 1768924800,
    "user_id": "47084",
    "changed_by_user_id": null
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1756479947,
      "beacons": 1760281547,
      "desktop_presences": 1756739147,
      "favorites": 1758121547,
      "fences": 1762445147,
      "groups": 1756307147,
      "networks": 1759590347,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Create a status update for a user

Changes a user’s status. Users must have a role that permits managing their own current status or their own past statuses if updating themselves. Users must be permitted to manage the current status of others or the past status of others if updating another user.

Punto de llegada

POST /api/v4/users/:id/statuses

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
status[comment] (string) up to 50 character description of the status update
status[created_at] (integer) epoch time to apply status change, defaults to the current time (if this parameter is passed the date must be in the past)
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.phones', 'user.recents', 'changed_by_user', 'application'

Solicitud

Ruta

POST /api/v4/users/47097/statuses

Encabezados

Content-Type: application/json
Authorization: Bearer UbMUX-NyRvPFU25KabP7dUSjua9xQPwGDRDcpXumz4w

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "In at HQ"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/47097/statuses" -d '{"status":{"status":"in","comment":"In at HQ"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer UbMUX-NyRvPFU25KabP7dUSjua9xQPwGDRDcpXumz4w"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (object) the newly created status object

Estado

201

Encabezados

ETag: W/"bae7deb7f756ba9c7b174118e0c73ffc"

Cuerpo

{
  "statuses": {
    "status": "in",
    "comment": "In at HQ",
    "automatic": false,
    "user_id": "47097",
    "changed_by_user_id": "47096",
    "created_at": 1763395547
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1760886347,
      "beacons": 1762185947,
      "desktop_presences": 1755183947,
      "favorites": 1757689547,
      "fences": 1756825547,
      "groups": 1755788747,
      "networks": 1755356747,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Create a status update for a user without attribution

Changes a user’s status, but does so without populating the admin that did it. The user that is authenticated must have a role that’s permitted to set up tablet access.

Punto de llegada

POST /api/v4/users/:id/statuses_without_fingerprint

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', 'vacation', or 'toggle'
status[comment] (string/hash) string is up to 50 character description of the status update, hash would contain values for 'in' and 'out' for toggle, and the API will choose the appropriate one
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.phones', 'user.recents', 'changed_by_user', 'application'

Solicitud

Ruta

POST /api/v4/users/47086/statuses_without_fingerprint

Encabezados

Content-Type: application/json
Authorization: Bearer IHq52I7xzYckgNxiWutLwGXbOOma0IjzQCjdAAx--3o

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "In at HQ"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/47086/statuses_without_fingerprint" -d '{"status":{"status":"in","comment":"In at HQ"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer IHq52I7xzYckgNxiWutLwGXbOOma0IjzQCjdAAx--3o"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (object) the newly created status object

Estado

201

Encabezados

ETag: W/"257894087e0c16c4318a7f1edb808925"

Cuerpo

{
  "statuses": {
    "status": "in",
    "comment": "In at HQ",
    "automatic": false,
    "user_id": "47086",
    "changed_by_user_id": null,
    "created_at": 1763395547
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759763147,
      "beacons": 1763309147,
      "desktop_presences": 1756134347,
      "favorites": 1758639947,
      "fences": 1759935947,
      "groups": 1759763147,
      "networks": 1757775947,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null,
    "update_available": false
  }
}

Create a status update for the current user

Changes the current user’s status. Users must have a role that permits managing their own current status or their own past statuses.

Punto de llegada

POST /api/v4/users/my/statuses

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
status[comment] (st`ring) up to 50 character description of the status update
status[created_at] (integer) epoch time to apply status change, defaults to the current time (if this parameter is passed the date must be in the past)
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.phones', 'user.recents', 'changed_by_user', 'application'

Solicitud

Ruta

POST /api/v4/users/my/statuses

Encabezados

Content-Type: application/json
Authorization: Bearer dmOK0oInM8ppn1BOzbmzYxbrAIB1ys66Lj0xDa2cmDM

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "In at HQ"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/statuses" -d '{"status":{"status":"in","comment":"In at HQ"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer dmOK0oInM8ppn1BOzbmzYxbrAIB1ys66Lj0xDa2cmDM"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (object) the newly created status object

Estado

201

Encabezados

ETag: W/"f5fd8350c34ff08cc53ca82bdf38125b"

Cuerpo

{
  "statuses": {
    "status": "in",
    "comment": "In at HQ",
    "automatic": false,
    "user_id": "47087",
    "changed_by_user_id": null,
    "created_at": 1763395547
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759763147,
      "beacons": 1756652747,
      "desktop_presences": 1761577547,
      "favorites": 1755875147,
      "fences": 1762099547,
      "groups": 1762877147,
      "networks": 1761231947,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Create a user

Creates a new user. When this is completed, the user will be sent a welcome email from Simple In/Out with a link to choose their own password. Users must have a role that permits managing the company/users to create users. Companies are limited to the number of users their plan supports, and attempting to add more users will result in a greater_than error on the base parameter.

Punto de llegada

POST /api/v4/users

Parametros

Name Description
user[email] requerido (string) new user's email address
user[name] requerido (string) new user's full name
user[details] (string) additional text information about the user
user[lang] (string) preferred locale of the user defaulting to the locale of the authorized user, can be en, en-au, en-ca, en-gb, de, es, fr, fr-ca
user[image_url] (string) url of an image for the user, must be an https url
user[phones_attributes] (array) phone objects to attach to the user, each with a 'number' attribute
user[memberships_attributes] (array) membership objects to place the user in the group, each with a 'group_id' attribute
user[role_id] requerido (string) the ID of the role to assign to the user
user[skip_confirmation_email] (boolean) whether to send a welcome email for the new user to choose their password, defaults to false which makes certain the email is sent
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

POST /api/v4/users

Encabezados

Content-Type: application/json
Authorization: Bearer zKyrF34rUucHOe9kU_odk_BPeEreT62Zn0rXRIyQRb8

Cuerpo

{
  "user": {
    "email": "bojack@simplymadeapps.com",
    "name": "Bojack Horseman",
    "details": "Lead Actor",
    "lang": "en",
    "image_url": "https://placehold.it/350x150",
    "phones_attributes": [
      {
        "number": "239-055-9543 x250"
      }
    ],
    "memberships_attributes": [
      {
        "group_id": 2292
      }
    ],
    "role_id": "100956"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users" -d '{"user":{"email":"bojack@simplymadeapps.com","name":"Bojack Horseman","details":"Lead Actor","lang":"en","image_url":"https://placehold.it/350x150","phones_attributes":[{"number":"239-055-9543 x250"}],"memberships_attributes":[{"group_id":2292}],"role_id":"100956"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer zKyrF34rUucHOe9kU_odk_BPeEreT62Zn0rXRIyQRb8"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the newly created user object

Estado

201

Encabezados

ETag: W/"6cdf63f82f87c273607534f3eda3253c"

Cuerpo

{
  "users": {
    "id": "47078",
    "name": "Bojack Horseman",
    "email": "bojack@simplymadeapps.com",
    "details": "Lead Actor",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "100956",
    "announcements_read_at": 0,
    "created_at": 1763395547,
    "updated_at": 1763395547,
    "cached_at": "1763395547.345747000"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1754924747,
      "beacons": 1757343947,
      "desktop_presences": 1762099547,
      "favorites": 1757084747,
      "fences": 1756307147,
      "groups": 1763395547,
      "networks": 1760022347,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null,
    "update_available": false
  }
}

Create/Update user favorites

Creates user favorites (Quick Picks). If user favorites exist, they will be overwritten by the new ones. Users are limited to 10 favorites.

Punto de llegada

POST /api/v4/users/my/favorites

Parametros

Name Description
favorites requerido (array) array of objects consisting of 'status' and 'comment'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'

Solicitud

Ruta

POST /api/v4/users/my/favorites

Encabezados

Content-Type: application/json
Authorization: Bearer kigK_p8rHhcHzaNOrrWg8OJ8Z4kcjqy3HurCXT4cioo

Cuerpo

{
  "favorites": [
    {
      "status": "in",
      "comment": "At Work"
    },
    {
      "status": "out",
      "comment": "On Vacation"
    }
  ],
  "expand": "favorites"
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/favorites" -d '{"favorites":[{"status":"in","comment":"At Work"},{"status":"out","comment":"On Vacation"}],"expand":"favorites"}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer kigK_p8rHhcHzaNOrrWg8OJ8Z4kcjqy3HurCXT4cioo"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the newly updated user attributes

Estado

200

Encabezados

ETag: W/"d28ce4dd48fb8391236149c20df8f51a"

Cuerpo

{
  "users": {
    "id": "47070",
    "name": "Sterling Archer",
    "email": "sterling@simplymadeapps.com",
    "details": "Aut vero ut.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "favorites": [
      {
        "status": "in",
        "comment": "At Work"
      },
      {
        "status": "out",
        "comment": "On Vacation"
      }
    ],
    "role_id": "100946",
    "announcements_read_at": 0,
    "created_at": 1763395547,
    "updated_at": 1763395547,
    "cached_at": "1763395547.226913000"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1755875147,
      "beacons": 1762531547,
      "desktop_presences": 1760627147,
      "favorites": 1758899147,
      "fences": 1759417547,
      "groups": 1754924747,
      "networks": 1763222747,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Delete a user

Deletes an existing user. Users must have a role that permits managing the company/users to delete users. Companies must have at least one user with the Administrator role, if you attempt to delete the last user with the Administrator role, this will result in a less_than error on the base parameter.

Punto de llegada

DELETE /api/v4/users/:id

Solicitud

Ruta

DELETE /api/v4/users/47081

Encabezados

Content-Type: application/json
Authorization: Bearer 4cjGqCrbydgaoMS_WfoMOPi6u4tDqg6Wfg0Nqan-RzA

cURL

curl "https://www.simpleinout.com/api/v4/users/47081" -d '' -X DELETE \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 4cjGqCrbydgaoMS_WfoMOPi6u4tDqg6Wfg0Nqan-RzA"

Respuesta

Simulated Response

Estado

204

Favorite a status for the current user

Designates a previous status update as a favorite for the current user’s Quick Picks.

Punto de llegada

PATCH /api/v4/users/my/statuses/favorite

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
status[comment] (string) up to 50 character description of the status update

Solicitud

Ruta

PATCH /api/v4/users/my/statuses/favorite

Encabezados

Content-Type: application/json
Authorization: Bearer iiemOMVt-0WY64C6zGrxvRrgHt3G_W-oIkFVq3QfPp8

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "At Lunch"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/statuses/favorite" -d '{"status":{"status":"in","comment":"At Lunch"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer iiemOMVt-0WY64C6zGrxvRrgHt3G_W-oIkFVq3QfPp8"

Respuesta

Simulated Response

Estado

204

Hide a status for the current user

Hides a previous status update from the current user’s Quick Picks.

Punto de llegada

PATCH /api/v4/users/my/statuses/hide

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
status[comment] (string) up to 50 character description of the status update

Solicitud

Ruta

PATCH /api/v4/users/my/statuses/hide

Encabezados

Content-Type: application/json
Authorization: Bearer 0EmY_G8HYu7M7RpdiyD0NwA9VDa4qIw70QV0mRPakf8

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "At Lunch"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/statuses/hide" -d '{"status":{"status":"in","comment":"At Lunch"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 0EmY_G8HYu7M7RpdiyD0NwA9VDa4qIw70QV0mRPakf8"

Respuesta

Simulated Response

Estado

204

List all archived users

Return a list of all the archived users belonging to the company. Users must have a role that permits managing users.

Punto de llegada

GET /api/v4/users?archived=true

Solicitud

Ruta

GET /api/v4/users?archived=true

Encabezados

Content-Type: application/json
Authorization: Bearer 9N_2ENypEzgIijRS-t-sLJfP37doYk6SKChEk1trnAM

Parámetros de la consulta

archived=true

cURL

curl -g "https://www.simpleinout.com/api/v4/users?archived=true" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 9N_2ENypEzgIijRS-t-sLJfP37doYk6SKChEk1trnAM"

Respuesta

Simulated Response

Estado

200

Encabezados

ETag: W/"5a0b115df70045445dc797d8ceadf8fd"
Last-Modified: Mon, 17 Nov 2025 16:05:50 GMT

Cuerpo

{
  "users": [
    {
      "id": "47182",
      "name": "James Mitchell",
      "email": null,
      "details": "Id nesciunt totam.",
      "lang": "en",
      "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
      "role_id": null,
      "announcements_read_at": 0,
      "created_at": 1763395550,
      "updated_at": 1763395550,
      "cached_at": "1763395550.456101200"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 1,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users?archived=true",
      "last_href": "http://example.org/api/v4/users?archived=true",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1761491150,
      "beacons": 1762185950,
      "desktop_presences": 1757171150,
      "favorites": 1762617950,
      "fences": 1756134350,
      "groups": 1763136350,
      "networks": 1761404750,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null,
    "trusted_cached_at": "1763395535.465000900"
  }
}

List all future statuses for a user

List all the scheduled statuses for the specified user. Please note that the user making this request must have a role with permission to view the scheduled statuses of others and the company must have scheduled statuses enabled.

Punto de llegada

GET /api/v4/users/:id/futures

Parametros

Name Description
comment (string) the comment, case sensitive, included with the status change
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'apply_at', 'status', 'comment'
apply_at (string) a date range string for the time the status will be added
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'changed_by_user'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/users/47094/futures

Encabezados

Content-Type: application/json
Authorization: Bearer I4y4SLhzPZpoaNkReLSiKQmML1Ml7hA1W8JW8Vxayos

cURL

curl -g "https://www.simpleinout.com/api/v4/users/47094/futures" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer I4y4SLhzPZpoaNkReLSiKQmML1Ml7hA1W8JW8Vxayos"

Respuesta

Simulated Response

Campos de respuesta

Name Description
futures (array) an array of matching scheduled statuses

Estado

200

Encabezados

ETag: W/"422aff29ece5e5d4fc86e8322d901b38"
Last-Modified: Mon, 17 Nov 2025 16:05:47 GMT

Cuerpo

{
  "futures": [
    {
      "id": "1230",
      "status": "out",
      "comment": "Offsite Meeting",
      "completed": false,
      "apply_at": 1763971200,
      "end_at": null,
      "user_id": "47094",
      "changed_by_user_id": null
    },
    {
      "id": "1231",
      "status": "out",
      "comment": "Gone Fishing",
      "completed": false,
      "apply_at": 1769428800,
      "end_at": 1769601600,
      "user_id": "47094",
      "changed_by_user_id": "47095"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users/47094/futures?user_id=47094",
      "last_href": "http://example.org/api/v4/users/47094/futures?user_id=47094",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1759244747,
      "beacons": 1760367947,
      "desktop_presences": 1762445147,
      "favorites": 1755097547,
      "fences": 1762185947,
      "groups": 1757689547,
      "networks": 1762009547,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

List all future statuses for the current user

List all the scheduled statuses for the current user. Please note that the company must have scheduled statuses enabled for users to see their scheduled statuses.

Punto de llegada

GET /api/v4/users/my/futures

Parametros

Name Description
comment (string) the comment, case sensitive, included with the status change
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'apply_at', 'status', 'comment'
apply_at (string) a date range string for the time the status will be added
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'changed_by_user'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/users/my/futures

Encabezados

Content-Type: application/json
Authorization: Bearer 2c36eI4IpbifuP8ZmiZgbnvi9QlRz5TEHJZ-Iwzt4-E

cURL

curl -g "https://www.simpleinout.com/api/v4/users/my/futures" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 2c36eI4IpbifuP8ZmiZgbnvi9QlRz5TEHJZ-Iwzt4-E"

Respuesta

Simulated Response

Campos de respuesta

Name Description
futures (array) an array of matching scheduled statuses

Estado

200

Encabezados

ETag: W/"865f92447ade59ff4ccbebe9b448a652"
Last-Modified: Mon, 17 Nov 2025 16:05:48 GMT

Cuerpo

{
  "futures": [
    {
      "id": "1233",
      "status": "out",
      "comment": "Offsite Meeting",
      "completed": false,
      "apply_at": 1763971200,
      "end_at": null,
      "user_id": "47105",
      "changed_by_user_id": null
    },
    {
      "id": "1234",
      "status": "out",
      "comment": "Gone Fishing",
      "completed": false,
      "apply_at": 1769428800,
      "end_at": 1769601600,
      "user_id": "47105",
      "changed_by_user_id": "47106"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 2,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users/my/futures?user_id=47105",
      "last_href": "http://example.org/api/v4/users/my/futures?user_id=47105",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1758035148,
      "beacons": 1763049948,
      "desktop_presences": 1760195148,
      "favorites": 1760454348,
      "fences": 1759676748,
      "groups": 1758726348,
      "networks": 1761491148,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null
  }
}

List all statuses for a user

List all the statuses for the specified user within the time period specified by the ‘created_at’ date range. Users must have a role that permits viewing the past statuses of others if viewing another user. They can always view their own past statuses.

Punto de llegada

GET /api/v4/users/:id/statuses

Parametros

Name Description
created_at requerido (string) a date range string for the time the status was created
comment (string) the comment, case sensitive, included with the status change
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'created_at', 'status', 'comment'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.phones', 'user.recents', 'changed_by_user', 'application'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/users/47090/statuses?created_at=1762754400..1763013599

Encabezados

Content-Type: application/json
Authorization: Bearer CL7HTtoc7k6Lx_FGGVtKXaSFIAfzMW41ohTcyaOZFyQ

Parámetros de la consulta

created_at=1762754400..1763013599

cURL

curl -g "https://www.simpleinout.com/api/v4/users/47090/statuses?created_at=1762754400..1763013599" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer CL7HTtoc7k6Lx_FGGVtKXaSFIAfzMW41ohTcyaOZFyQ"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (array) an array of matching statuses

Estado

200

Encabezados

ETag: W/"4ad9946dadd811d8ee4e9b4d1e43b0d9"
Last-Modified: Tue, 11 Nov 2025 15:00:00 GMT

Cuerpo

{
  "statuses": [
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762761600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762776000
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762779600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762797600
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762848000
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": null,
      "created_at": 1762869600
    },
    {
      "status": "out",
      "comment": "Vacation",
      "automatic": false,
      "user_id": "47090",
      "changed_by_user_id": "47091",
      "created_at": 1762873200
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 7,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users/47090/statuses?created_at=1762754400..1763013599&user_id=47090",
      "last_href": "http://example.org/api/v4/users/47090/statuses?created_at=1762754400..1763013599&user_id=47090",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1759331147,
      "beacons": 1756047947,
      "desktop_presences": 1761750347,
      "favorites": 1756307147,
      "fences": 1760281547,
      "groups": 1759676747,
      "networks": 1756393547,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

List all statuses for the current user

List all the statuses for the current user within the time period specified by the ‘created_at’ date range.

Punto de llegada

GET /api/v4/users/my/statuses

Parametros

Name Description
created_at requerido (string) a date range string for the time the status was created
comment (string) the comment, case sensitive, included with the status change
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'created_at', 'status', 'comment'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'user', 'user.favorites', 'user.latest', 'user.memberships', 'user.phones', 'user.recents', 'changed_by_user', 'application'
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results

Solicitud

Ruta

GET /api/v4/users/my/statuses?created_at=1762754400..1763013599

Encabezados

Content-Type: application/json
Authorization: Bearer 9fhCi5lM7vXPukdS_Esvd35hCHy5kU5mNLEVu70QaG0

Parámetros de la consulta

created_at=1762754400..1763013599

cURL

curl -g "https://www.simpleinout.com/api/v4/users/my/statuses?created_at=1762754400..1763013599" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer 9fhCi5lM7vXPukdS_Esvd35hCHy5kU5mNLEVu70QaG0"

Respuesta

Simulated Response

Campos de respuesta

Name Description
statuses (array) an array of matching statuses

Estado

200

Encabezados

ETag: W/"8bed15f11a26ff649da6810f5cdf1873"
Last-Modified: Tue, 11 Nov 2025 15:00:00 GMT

Cuerpo

{
  "statuses": [
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762761600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762776000
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762779600
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762797600
    },
    {
      "status": "in",
      "comment": "At Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762848000
    },
    {
      "status": "out",
      "comment": "Left Work",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": null,
      "created_at": 1762869600
    },
    {
      "status": "out",
      "comment": "Vacation",
      "automatic": false,
      "user_id": "47063",
      "changed_by_user_id": "47064",
      "created_at": 1762873200
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 7,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users/my/statuses?created_at=1762754400..1763013599&user_id=47063",
      "last_href": "http://example.org/api/v4/users/my/statuses?created_at=1762754400..1763013599&user_id=47063",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1755702347,
      "beacons": 1757343947,
      "desktop_presences": 1759331147,
      "favorites": 1755529547,
      "fences": 1755270347,
      "groups": 1757948747,
      "networks": 1758985547,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

List all users

Return a list of all the users belonging to the company. Users must have a role that permits viewing users.

Punto de llegada

GET /api/v4/users

Parametros

Name Description
page_size (integer) number of results to return per page, defaults to 25
page (integer) page number of results
name (string) return users with this name
email (string) return users with this email
id (array) return users by an array of ids
created_at (string) a date range string for the time this user was created
group_id (string/array) return users belonging to a group id, which can be a string or array in the form of group_id[]=INT
cached_at (integer/float) return users updated that have made a significant change since an epoch time, accurate to nanoseconds
global[query] (string) a search term to filter users by name or current status comment
global[locale] (string) the locale to use for filtering results, can be en, en-au, en-ca, en-gb, de, es, fr, fr-ca, defaults to 'en'
sort (string) order of the return with optional '-' to denote descending, possibilities include: 'name', 'email', 'cached_at', 'created_at', 'status.status', 'status.created_at'
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

GET /api/v4/users

Encabezados

Content-Type: application/json
Authorization: Bearer l7Im84kIc0HG4z84S3b8t1r5kmMk_MplZgWNX5nQoxw

cURL

curl -g "https://www.simpleinout.com/api/v4/users" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer l7Im84kIc0HG4z84S3b8t1r5kmMk_MplZgWNX5nQoxw"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (array) an array of users
trusted_cached_at (string in the meta object) the server time minus an amount to account for network delivery time

Estado

200

Encabezados

ETag: W/"d0a999eae2b7723ab90f2ede6a4f1cc8"
Last-Modified: Mon, 17 Nov 2025 16:05:47 GMT

Cuerpo

{
  "users": [
    {
      "id": "47073",
      "name": "Malory Archer",
      "email": "malory@simplymadeapps.com",
      "details": "Iure illo est.",
      "lang": "en",
      "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
      "role_id": "100952",
      "announcements_read_at": 0,
      "created_at": 1763395547,
      "updated_at": 1763395547,
      "cached_at": "1763395547.287061000"
    },
    {
      "id": "47074",
      "name": "Sterling Archer",
      "email": "sterling@simplymadeapps.com",
      "details": "Numquam quis distinctio.",
      "lang": "en",
      "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
      "role_id": "100954",
      "announcements_read_at": 0,
      "created_at": 1763395547,
      "updated_at": 1763395547,
      "cached_at": "1763395547.292143000"
    },
    {
      "id": "47075",
      "name": "Lana Kane",
      "email": "lana@simplymadeapps.com",
      "details": "Nisi harum ratione.",
      "lang": "en",
      "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
      "role_id": "100954",
      "announcements_read_at": 0,
      "created_at": 1763395547,
      "updated_at": 1763395547,
      "cached_at": "1763395547.298012000"
    },
    {
      "id": "47076",
      "name": "Ray Gillette",
      "email": "ray@simplymadeapps.com",
      "details": "Et laudantium at.",
      "lang": "en",
      "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
      "role_id": "100954",
      "announcements_read_at": 0,
      "created_at": 1763395547,
      "updated_at": 1763395547,
      "cached_at": "1763395547.302821900"
    }
  ],
  "meta": {
    "paging": {
      "page": 1,
      "page_size": 25,
      "page_count": 1,
      "count": 4,
      "previous_page": null,
      "next_page": null,
      "first_href": "http://example.org/api/v4/users",
      "last_href": "http://example.org/api/v4/users",
      "previous_href": null,
      "next_href": null
    },
    "last_updated_at": {
      "announcements": 1757689547,
      "beacons": 1759158347,
      "desktop_presences": 1760627147,
      "favorites": 1756307147,
      "fences": 1759676747,
      "groups": 1758899147,
      "networks": 1756393547,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null,
    "trusted_cached_at": "1763395532.309781000"
  }
}

Mark announcements as read

Marks announcements beforehand as read. If an epoch time from the future is passed in, it will become the current time.

Punto de llegada

POST /api/v4/users/my/announcements/read

Parametros

Name Description
read_at requerido (integer) epoch time denoting all announcements before this time have been read

Solicitud

Ruta

POST /api/v4/users/my/announcements/read

Encabezados

Content-Type: application/json
Authorization: Bearer MUDRRNb1QgTd71lgW5V-xaHhHyFza79LZqGrSwgeKr4

cURL

curl "https://www.simpleinout.com/api/v4/users/my/announcements/read" -d '' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer MUDRRNb1QgTd71lgW5V-xaHhHyFza79LZqGrSwgeKr4"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the newly updated user attributes

Estado

204

Retrieve a user

Retrieve an existing user. Users must have a role that permits viewing users.

Punto de llegada

GET /api/v4/users/:id

Parametros

Name Description
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

GET /api/v4/users/47089

Encabezados

Content-Type: application/json
Authorization: Bearer onyfMTKyQPILNZnezwwfkotyQ7CvTX_kv126AeIsSu8

cURL

curl -g "https://www.simpleinout.com/api/v4/users/47089" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer onyfMTKyQPILNZnezwwfkotyQ7CvTX_kv126AeIsSu8"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) a user object

Estado

200

Encabezados

ETag: W/"4ca12b926f7b04ea66a0487b96e7701e"
Last-Modified: Mon, 17 Nov 2025 16:05:47 GMT

Cuerpo

{
  "users": {
    "id": "47089",
    "name": "Sterling Archer",
    "email": "sterling@simplymadeapps.com",
    "details": "Autem deleniti praesentium.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "100986",
    "announcements_read_at": 0,
    "created_at": 1763395547,
    "updated_at": 1763395547,
    "cached_at": "1763395547.724324000"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759935947,
      "beacons": 1761318347,
      "desktop_presences": 1755529547,
      "favorites": 1759849547,
      "fences": 1763136347,
      "groups": 1756134347,
      "networks": 1759849547,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Retrieve the current user

Retrieve the current user who is authorized.

Punto de llegada

GET /api/v4/users/my

Parametros

Name Description
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

GET /api/v4/users/my

Encabezados

Content-Type: application/json
Authorization: Bearer WO8kiMiguCRyLrQAxX15bnGiUZkV_bkPWR3TP5zxL6E

cURL

curl -g "https://www.simpleinout.com/api/v4/users/my" -X GET \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer WO8kiMiguCRyLrQAxX15bnGiUZkV_bkPWR3TP5zxL6E"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) a user object

Estado

200

Encabezados

ETag: W/"920c42613eac481a68c87d15cbaf9ffb"
Last-Modified: Mon, 17 Nov 2025 16:05:47 GMT

Cuerpo

{
  "users": {
    "id": "47066",
    "name": "Sterling Archer",
    "email": "sterling@simplymadeapps.com",
    "details": "Consequatur odio quis.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "100938",
    "announcements_read_at": 0,
    "created_at": 1763395547,
    "updated_at": 1763395547,
    "cached_at": "1763395547.162480800"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1762445147,
      "beacons": 1755961547,
      "desktop_presences": 1762185947,
      "favorites": 1762877147,
      "fences": 1759244747,
      "groups": 1755011147,
      "networks": 1758294347,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null
  }
}

Unarchive a user

Unarchives an archived user. Users must have a role that permits managing users.

Punto de llegada

POST /api/v4/users/:id/unarchive

Parametros

Name Description
user[email] requerido (string) the user's email address
user[name] (string) the user's full name
user[details] (string) additional text information about the user
user[lang] (string) preferred locale of the user defaulting to the locale of the authorized user, can be en, en-au, en-ca, en-gb, de, es, fr, fr-ca
user[phones_attributes] (array) phone objects to attach to the user, each with a 'number' attribute
user[memberships_attributes] (array) membership objects to place the user in the group, each with a 'group_id' attribute
user[role_id] requerido (string) the ID of the role to assign to the user
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

POST /api/v4/users/47204/unarchive

Encabezados

Content-Type: application/json
Authorization: Bearer zO0VRFU3dsLcWP9FHXdbvVMoXMEZ6GlCqeLsker0xoo

Cuerpo

{
  "user": {
    "email": "bojack@simplymadeapps.com",
    "role_id": "101276"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/47204/unarchive" -d '{"user":{"email":"bojack@simplymadeapps.com","role_id":"101276"}}' -X POST \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer zO0VRFU3dsLcWP9FHXdbvVMoXMEZ6GlCqeLsker0xoo"

Respuesta

Simulated Response

Estado

200

Encabezados

ETag: W/"041fba33e377e8e2f2be6e02b4b12cf8"

Cuerpo

{
  "users": {
    "id": "47204",
    "name": "Tyson Wunsch VM",
    "email": "bojack@simplymadeapps.com",
    "details": "Est ipsa deleniti.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "101276",
    "created_at": 1763395551,
    "updated_at": 1763395551,
    "cached_at": "1763395551.015866000"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1763309150,
      "beacons": 1759590350,
      "desktop_presences": 1761231950,
      "favorites": 1760713550,
      "fences": 1761750350,
      "groups": 1757171150,
      "networks": 1758467150,
      "roles": 1763395550,
      "settings": 1763395550
    },
    "emergency": null
  }
}

Unfavorite a status for the current user

Undoes a previous status’ favorite designation for the current user’s Quick Picks.

Punto de llegada

PATCH /api/v4/users/my/statuses/unfavorite

Parametros

Name Description
status[status] requerido (string) must be 'in', 'remote', 'busy', 'break', 'out', 'sick', or 'vacation'
status[comment] (string) up to 50 character description of the status update

Solicitud

Ruta

PATCH /api/v4/users/my/statuses/unfavorite

Encabezados

Content-Type: application/json
Authorization: Bearer JOcKPPkFSdAvnw30fiWYjWZNIvwTe3ljQWN-2U-wxa0

Cuerpo

{
  "status": {
    "status": "in",
    "comment": "At Lunch"
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my/statuses/unfavorite" -d '{"status":{"status":"in","comment":"At Lunch"}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Authorization: Bearer JOcKPPkFSdAvnw30fiWYjWZNIvwTe3ljQWN-2U-wxa0"

Respuesta

Simulated Response

Estado

204

Update a user

Updates an existing user. Users must have a role that permits managing the company/users to update users. Companies must have at least one user with the Administrator role, if you attempt to change the role of the last user with the Administrator role, this will result in a less_than error on the base parameter.

Punto de llegada

PATCH /api/v4/users/:id

Parametros

Name Description
user[email] (string) new user's email address
user[name] (string) new user's full name
user[image_url] (string) url of an image for the user, must be an https url
user[details] (string) additional text information about the user
user[lang] (string) preferred locale of the user, can be en, en-au, en-ca, en-gb, de, es, fr, fr-ca
user[phones_attributes] (array) phone objects to attach to the user if both 'id' and 'number' are passed in, the existing phone number will be updated if just 'number' is passed in, a new phone will be added if both 'id' and '_destroy' are passed in ('_destroy' being truthy like 'true' or '1'), the phone number will be removed
user[memberships_attributes] (array) group objects to attach to the user if both 'id' and 'group_id' are passed in, the existing membership will be updated if just 'group_id' is passed in, a new membership will be added if both 'id' and '_destroy' are passed in ('_destroy' being truthy like 'true' or '1'), the group membership will be removed
user[role_id] (string) the ID of the role to assign to the user
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

PATCH /api/v4/users/47103

Encabezados

Content-Type: application/json
Authorization: Bearer HqVqyfBdiFxu3yHulPYgR3UY5zwtkhQT5EjLl-Jz0N8

Cuerpo

{
  "user": {
    "phones_attributes": [
      {
        "number": "1-494-443-7957"
      }
    ],
    "memberships_attributes": [
      {
        "group_id": 2294
      }
    ]
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/47103" -d '{"user":{"phones_attributes":[{"number":"1-494-443-7957"}],"memberships_attributes":[{"group_id":2294}]}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer HqVqyfBdiFxu3yHulPYgR3UY5zwtkhQT5EjLl-Jz0N8"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the newly updated user attributes

Estado

200

Encabezados

ETag: W/"f5474801a76ca5f75ab488ea721c9a6a"

Cuerpo

{
  "users": {
    "id": "47103",
    "name": "Sterling Archer",
    "email": "sterling@simplymadeapps.com",
    "details": "Corrupti eum et.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "101014",
    "announcements_read_at": 0,
    "created_at": 1763395548,
    "updated_at": 1763395548,
    "cached_at": "1763395548.058275000"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1757775948,
      "beacons": 1759244748,
      "desktop_presences": 1756220748,
      "favorites": 1757775948,
      "fences": 1762009548,
      "groups": 1763395548,
      "networks": 1754838348,
      "roles": 1763395548,
      "settings": 1763395548
    },
    "emergency": null,
    "update_available": false
  }
}

Update the current user

Updates the currently authorized user. The current user cannot update their own role.

Punto de llegada

PATCH /api/v4/users/my

Parametros

Name Description
user[email] (string) new user's email address
user[name] (string) new user's full name
user[image_url] (string) url of an image for the user, must be an https url
user[details] (string) additional text information about the user
user[lang] (string) preferred locale of the user, can be en, en-au, en-ca, en-gb, de, es, fr, fr-ca
user[phones_attributes] (array) phone objects to attach to the user if both 'id' and 'number' are passed in, the existing phone number will be updated if just 'number' is passed in, a new phone will be added if both 'id' and '_destroy' are passed in ('_destroy' being truthy like 'true' or '1'), the phone number will be removed
user[memberships_attributes] (array) group objects to attach to the user if both 'id' and 'group_id' are passed in, the existing membership will be updated if just 'group_id' is passed in, a new membership will be added if both 'id' and '_destroy' are passed in ('_destroy' being truthy like 'true' or '1'), the group membership will be removed
only (string) comma-delimited list of fields to render only, possibilities include: 'id', 'name', 'email', 'image_url', 'details', 'lang', 'created_at', 'updated_at', 'cached_at'
expand (string) comma-delimited list of extra information to include in the response, possibilities include: 'badge', 'favorites', 'latest', 'memberships', 'memberships.group', 'permissions', 'phones', 'status', 'status.application', 'status.changed_by_user', 'recents', 'role'

Solicitud

Ruta

PATCH /api/v4/users/my

Encabezados

Content-Type: application/json
Authorization: Bearer Fg3liez3w464vUQZ271UK8qd_MXMcFKCvDnbxLjEKZE

Cuerpo

{
  "user": {
    "phones_attributes": [
      {
        "number": "1-415-910-6836 x8781"
      }
    ],
    "memberships_attributes": [
      {
        "group_id": 2290
      }
    ]
  }
}

cURL

curl "https://www.simpleinout.com/api/v4/users/my" -d '{"user":{"phones_attributes":[{"number":"1-415-910-6836 x8781"}],"memberships_attributes":[{"group_id":2290}]}}' -X PATCH \
	-H "Version: HTTP/1.0" \
	-H "Content-Type: application/json" \
	-H "Sio-Version: 1.0.0" \
	-H "Authorization: Bearer Fg3liez3w464vUQZ271UK8qd_MXMcFKCvDnbxLjEKZE"

Respuesta

Simulated Response

Campos de respuesta

Name Description
users (object) the newly updated user attributes

Estado

200

Encabezados

ETag: W/"a50e5920b334c47d15627bac4c28ab4b"

Cuerpo

{
  "users": {
    "id": "47061",
    "name": "Aleen Baumbach II",
    "email": "mallory@simplymadeapps.com",
    "details": "A quibusdam magnam.",
    "lang": "en",
    "image_url": "https://simpleinout.s3.amazonaws.com/image_none.png",
    "role_id": "100928",
    "announcements_read_at": 0,
    "created_at": 1763395547,
    "updated_at": 1763395547,
    "cached_at": "1763395547.050012800"
  },
  "meta": {
    "last_updated_at": {
      "announcements": 1759417547,
      "beacons": 1762877147,
      "desktop_presences": 1762185947,
      "favorites": 1760972747,
      "fences": 1755615947,
      "groups": 1763395547,
      "networks": 1759503947,
      "roles": 1763395547,
      "settings": 1763395547
    },
    "emergency": null,
    "update_available": false
  }
}