Getting started

Welcome to the Akkroo public API documentation. Here you can find out how to build customised applications and share your event lead data with Akkroo.

Our API

Designed and built using REST principles - if you have experience working with APIs, then the decisions we’ve made here should be familiar. API responses (and in some instances, requests) are in JSON.

Generate your Client Credentials in the Akkroo dashboard

You’ll need to get your unique Client Credentials from the Akkroo dashboard; you can do this by logging in and navigating to Settings > API. Your client credentials are used to retrieve an access token from the API, which is used to authorise each request. For more information on this, including step-by-step instructions, see Help Centre article: Using the Akkroo public API

Need technical help?

Direct questions to our Support team, support@akkroo.com.

Cross-Origin Resource Sharing

Cross-Origin Resource Sharing (CORS) is enabled for the API, which allows for XHR requests to be processed. This can be acheieved by sending an OPTIONS preflight request, to which the server will respond with the following headers:

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Headers
  • Access-Control-Allow-Methods

To read more about Cross-Origin Resource Sharing, read a detailed explanation by Mozilla

Filtering

Add filters to your API requests to determine the query outcome. The filter query string must:

  • contain the parameter filters[]
  • be an array - because it’s possible to supply multiple filter conditions
  • be url encoded

Build your filter parameters in the following format:
{logic}-{field}-{operator}-{value}

Logic

The valid values for logic are and and or. These are used to split the filters[] array into groups of filters based on the position on the position of the logic value or. This allows more complex queries to be constructed specifying multiple groups of conditions.

Example:
?filters[]=and-event.name-like-%Data%20Capture%20Event%
&filters[]=and-event.type-eq-1
&filters[]=or-event.name-like-%Guest%20List%20Event%
&filters[]=and-event.type-eq-2

This could be represented as the following SQL query:

SELECT ..
WHERE
(`event.name` LIKE '%Data Capture Event%' AND `event.type`=1)
OR
(`event.name` LIKE '%Guest List Event%' AND `event.type`=2)

Field

The field name to be queried in the condition. You can check what fields are available to query on each collection endpoint schema.

Operator

Valid operators include:

  • eq: Equals to
  • neq: Not equals to
  • lt: Less than
  • lte: Less than or equals to
  • gt: Greater than
  • gte: Greater than or equals to
  • like: Like

Value

This is the value for which the query is searching. This will be smartly parsed while the filter string is being transformed to convert the type to int, float and null.

Sorting

To sort the the results returned by a collection endpoint, the request should:

  • contain the query string parameter sorts[]
  • be an array as it is possible to supply multiple sort conditions

Build your sort parameter with the following format:
{field}-{direction}

Below is an example of sorting events in ascending order by the endDate and then by name:
/v2/events/{eventID}?sorts[]=event.endDate-asc&sorts[]=event.name-asc

Field

The field name the collection will be sorted by. You can check what fields you can use to sort a collection on each endpoint schema.

Direction

Define how the results should be ordered using one of the following:

  • asc: Ascending
  • desc: Descending

Pagination

The results returned from a collection endpoint will be paginated by default with the maximum number of results set to 50. This value can be changed by specifying the query parameter per_page or limit. The maximum value that can be specified is 200.

The header Link will be returned with the response following the format specified in RFC5988.

Example:
</v2/events?per_page=50&page=1>; rel="self",
</v2/events?per_page=50&page=2>; rel="next",
</v2/events?per_page=50&page=3>; rel="last"

The available pagination query parameters are:

  • per_page - The number of results per page
  • page - The page number to fetch the results for

Includes

Includes allows related data to be included in the response from the server. For example, when querying Records, the Resources are not included in the response by default. To include the resources, supply the query parameter include (use comma separators to define multiple includes).

Here is an example query string, which would retrieve an event, plus template and records:
/v2/events/{eventID}?include=template,records

Date formats

Akkroo formats dates according to RFC3339 (HTTP-date)

Encryption

All Akkroo domains are encrypted with SSL 3.0 or TLS 1.0 to 1.2. Unsecured connections are not allowed, and are redirected to HTTPS (port 443). We also send a HTTP Strict Transport Security header to help protect against Man-In-The-Middle attacks.

Limits

We want to ensure all customers have the best possible experience using our API. The number of API requests that customers make is therefore logged, and if deemed to be excessive, we may impose limits to usage. For more information, you can request access to our Fair Usage Policy.

Authentication

The API endpoints require requests to contain an access token with the Authorization header. This is a simple process; use the API key (generated in your account dashboard - Settings > API) to perform a POST to the authorization endpoint. This will return your access token on success.

You should then store the access token in your application until it expires; it will be used in every subsequent API request.

Authenticate

Request an access token.

header Parameters
X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Request Body schema: application/json
One of
  • object
  • object
scope
required
string
Value:"public"
grant_type
required
string
Value:"client_credentials"
client_id
required
string non-empty
client_secret
required
string non-empty

Responses

200

Success

401

Unauthorized

post /auth
https://public.api.akkroo.com/v2/auth

Request samples

application/json
Copy
Expand all Collapse all
{
  • "scope": "public",
  • "grant_type": "client_credentials",
  • "client_id": "wexler",
  • "client_secret": "secret_here"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "access_token": "N2NWMGlrZ2M1WEZLYmk0S3lDK2ExZjVZNXBib2IwUUhJZytsa0Y5Mjg0YURHU1E1eC9kbXJUNG0yTmRFZTRMMWZSUHpkaVhwWkhYT0k0Rk1ManpRbkFzOEFBWWNRR1RSVlAzeGFMcFRCNFdFRllpMExodmdteXk5Sk1MSzdIbGxFMmNhcFgvbEZ1ajJnZEloQ2duSC93PT06OqXYBxdWqNn1byue2UnTmWk=",
  • "expires_in": 86400,
  • "refresh_token": "bGxRWHhVM0ZmQndMZGI0dFB4amRCYWpaZkJKblFlZVVhQzgweEVPQ2REWGRaQnhDa2VmVmlGMUEvUzBTMGlBdmt1cWlSTTByUUR4QjIxc1VNZ2l2YkJnTGxtcmhhUzVIeXJVUUFKd254aUl4SlZVQVZFOE9lRFEvS001TndSOHo6OjfqRs4sXbRUlCQRg+uggUM="
}

Users

Retrieve the authenticated user

Retrieves the currently logged in user

header Parameters
Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Authorization
required
string

The bearer token obtained through authentication

Responses

200

Success

401

Unauthorized

get /users/me
https://public.api.akkroo.com/v2/users/me

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 1,
  • "username": "wexler",
  • "name": "Welxer Inc",
  • "email": "admin@wexler.com"
}

Events

Events consist of defined questions and expected data responses. They also contain a collection of records.


Event Type

The type of event is indicated by an integer value for the property type. There are two types of events:

1. Data Capture

An event type used for capturing and editing records through forms built using the event template.

2. Check-in

This event type is primarily used to track attendance at an event, by storing an “attended” state on each visitor or guest’s record. The event usually contains a list pre-populated records (uploaded, pre-registered, or partially complete records) that were added prior to the event start date. These records can be queried and updated to indicate whether somebody attended an event. This event type also supports the creation of new records (for example, walk-ins).

List of Available Event Types

Type ID Event Type
1Data Capture
5Check-in

Please note, the following Event Type IDs have been deprecated as of API v2 and are no longer supported:

Type ID Event Type
2(Deprecated) Check-in (no Registration)
3(Deprecated) Check-in or Register
4(Deprecated) Check-in then Data Capture (no Registration)

It’s no longer possible to create events with the deprecated IDs. Any existing events using the event types 2, 3 and 4 should be treated as event type 5.

Event Status

The status of an event is indicated by the property status and may be filtered when requesting a list of events. The value of status may be one of the following:

Status Description
1 Active

The event can be used to collect records

2 Archived

The event shouldn’t be used to collect records and is displayed within the Archived section of the Akkroo Dashboard

3 Deleted

The event shouldn’t be used to collected records and is not displayed within the Akkroo Dashboard



Event Template

An event template defines the attributes of an event form. To see an example of how an event template is structured go to the event response schema and expand the template property.

Event templates also include an array of questions that are answered by a user. In this documentation, event questions are referred to as fields.

Common structure of a field

Every field must contain an ID and type (while some fields require additional specific parameters). Common parameters are defined below.

Attribute
* = Required
Type Example Description
id* string "firstName" Identifies the question and associates it with collected data. It is an alphanumeric camel case string with no spaces. When created in Akkroo dashboard, the ID is auto-generated based on the label entered for the question.
type* string "text" Identifies the type of question. See the fields types definitions for all the allowed types.
label text "First name" The label to be displayed as question text.
required boolean true Defines whether the response to a question is mandatory. It is valid on all question types (except label, note and divider). If this parameter is not defined, the default is false (ie. a response is not required).
displayed object See display logic

Determines whether a question should be visible or hidden. It is valid on all question types. If not defined, the default value is true (ie. the question is displayed).

See the display logic section for information on more complex logic

successMessage string "Success message" The message to be displayed once the value of the field has been entered correctly.
warningMessage string "Warning message" The warning message to be displayed before the field is interacted with.
errorMessages object
{
"required": "This field is required"
}
The error message to be displayed when:
  • required - has no value entered on a field that has been designated as mandatory

Field Types

This section describes what type of form fields should be displayed by the client and how they should behave.

Field Type Description Example
text

Used to input free text.

autoCapitalize
  • characters - capitalize all letters
  • sentences - capitalize just the first letter
  • words - capitalize all the first letters of words
  • none - no capitalization
autoCorrect
  • on - Enabled
  • off - Disabled
subtype

If subtype is multiline the text field should accept multiple lines, rather than the default single line.

{
  id: "firstName",
  type: "text",
  label: "Full name",
  required: true,
  autoCapitalize: "words",
  placeholder: "string",
  autoCorrect: "off",
  subtype: "multiline",
  ...
}
email

Used to input correctly formatted email addresses.

autoCapitalize
  • characters - capitalize all letters
  • sentences - capitalize just the first letter
  • words - capitalize all the first letters of words
  • none - no capitalization
{
  id: "emailAddress",
  type: "email",
  label: "Email address",
  required: true,
  placeholder: "e.g wexler@akkroo.com",
  autoCorrect: "off",
  autoCapitalize: "none",
  ...
}
number

Used to input number characters.

minVal
The minimum number.

maxVal
The maximum number.

{
  id: "priority",
  type: "number",
  label: "Priority",
  minVal: 1,
  maxVal: 10,
  ...
}
tel

Used to input a phone number.

{
  id: "telephoneNumber",
  type: "tel",
  label: "Telephone Number",
  ...
}
url

Used to input a web url.

{
  id: "websiteURL",
  type: "url",
  label: "Website URL",
  placeholder: "e.g www.akkroo.com",
  ...
}
autocomplete

Used to select a value from a pre-populated list or input a new value.

limit
The number of maximum visible suggestions

selectedQuantity
Maximum number of items that can be selected.

allowNewEntries Allow options not defined in the list to be submitted

options
Autocomplete options; this can be an array of strings or objects.

{
  id: "country",
  type: "autocomplete",
  label: "Country",
  placeholder: "string",
  limit: 10,
  selectedQuantity: 1,
  allowNewEntries: true,
  options: [
    'United Kingdom',
    'United States of America'
  ],
  ...
}
date

Used to input a date

subtype
This option can be date,month,datetime-local,time and week

startRange
Timestamp that defines the minimum date

endRange
Timestamp that defines the maximum date

startTimeRange
Minimum time range

endTimeRange
Maximum time range

{
  id: "dateOfBirth",
  type: "date",
  label: "Date of birth",
  subtype: "date",
  startRange: "1561935600",
  endRange: "1564613999"
  ...
}
label

Used to display a text label without requiring any input.

subtype
  • header - Increases the display size
{
  id: "information",
  type: "label",
  label: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
  ...
}
checkbox

Used to set a true/false or yes/no value.

initialVal

Indicates if the checkbox should be ticked by default

{
  id: "moreInformation",
  type: "checkbox",
  label: "Would you like to receive more information?",
  initialVal: true,
  ...
}
checkboxGroup

Used to set true/false or yes/no values from a list of options.

options
Autocomplete options; this can be an array of strings or objects

{
  id: "productInterest",
  type: "checkboxGroup",
  label: "string",
  options: [
    "Product 1",
    "Product 2",
    "Product 3"
  ],
  ...
}
select

Used to select a value from a dropdown list of options.

addEmpty
Defines whether a first option is empty or not

multiSelect
Allows multi-selection of options

{
  id: "title",
  type: "select",
  label: "string",
  addEmpty: true,
  multiSelect: true,
  options: [
    "Mr",
    "Mrs",
    "Miss",
    "Ms",
    "Dr",
    "Professor"
  ],
  ...
}
radio

Used to select a value from a displayed list of options.

{
  id: "gender",
  type: "radio",
  label: "string",
  options: [
    "Male",
    "Female",
    "Not specified"
  ],
  ...
}
rating

Used to select a number of stars to indicate a rating.

maxRating
The number of stars to display; either 5 or 10

{
  type: "rating",
  id: "string",
  label: "Rating",
  maxRating: 5,
  ...
}
linkbuilder

Used to set true/false or yes/no values from a list of options, which have an associated url.

links
An array of urls and labels

{
  id: "moreInformation",
  type: "linkbuilder",
  label: "Select products to send more information about",
  links: [
    {
      label: 'Product 1',
      url: 'http://link.to/product-1-brochure.pdf'
    },
    {
      label: 'Product 2',
      url: 'http://link.to/product-2-brochure.pdf'
    }
  ],
  ...
}
cameraPhoto

Used to capture a photo with a device’s camera.

{
  id: "photo",
  type: "cameraPhoto",
  label: "Take a picture",
  ...
}
businessCard

Used to capture a photo of a business card with a device’s camera.

{
  id: "businessCardScan",
  type: "businessCard",
  label: "Scan a business card",
  ...
}
barcodeScanner

Used to extract a value from a barcode using a device's camera.

{
  id: "badgeScan",
  type: "barcodeScanner",
  label: "Scan a badge",
  ...
}

Display logic

Logic works by defining expressions for displayed fields. Logic expressions work like MongoDB queries on the values already entered into the form.

Any questions that are set as not displayed, are not considered required by the form validation.

{
  ...,
  displayed: {
    OTHER_FIELD_ID: {
      "$OPERATOR": "VALUE"
    },
    ...
  },
  ...
}
Operator Description Example
$displayed Determines whether a field is displayed (or not) according to another field.
{
  OTHER_FIELD_ID: {
      "$displayed": "boolean"
    }
}
$eq Displays a field if the other field is equal to a value. This operator also accepts a regular expression.
{
  OTHER_FIELD_ID: {
      "$eq": "any"
    }
}
or
{
  OTHER_FIELD_ID: "any"
}
$ne Displays a field if the other field is not equal to a value. This operator also accepts a regular expression.
{
  OTHER_FIELD_ID: {
      "$ne": "any"
    }
}
$in Displays a field if the other field value is one of the values defined in the condition.
{
  OTHER_FIELD_ID: {
      "$in": ["any"]
    }
}
$nin Displays a field if the other field value is not in the array of values defined in the condition.
{
  OTHER_FIELD_ID: {
      "$nin": ["any"]
    }
}
$and Displays a field if all conditions are true.
{
  OTHER_FIELD_ID: {
      "$and": [
        {
          OTHER_FIELD_ID: {
            "$OPERATOR": "value"
          }
        },
        {
          OTHER_FIELD_ID: {
            "$OPERATOR": "value"
          }
        },
        ...
      ]
    }
}
$or Displays a field if at least one of the conditions is true.
{
  OTHER_FIELD_ID: {
      "$or": [
        {
          OTHER_FIELD_ID: {
            "$OPERATOR": "value"
          }
        },
        {
          OTHER_FIELD_ID: {
            "$OPERATOR": "value"
          }
        },
        ...
      ]
    }
}


Available Includes

The availble includes are:

  • records - records captured for the event
  • resources - resources associated with the event
  • template - event template containing the form questions
  • recordsLastModified - datetime representing the last time a record was modified for the event

For more information see the includes explanation

Retrieve a list of events

Filters & Sorts

Below is the list of available filters and sorts that can be used when listing events.
For more information see the filters and sorts explanation.

Filters Sorts
  • event.id
  • event.name
  • event.type
  • event.tags
  • event.status
  • event.date
  • event.endDate
  • event.templateID
  • event.lastModified
  • event.created
  • event.webFormAccess
  • record.lastModified
  • event.id
  • event.name
  • event.type
  • event.date
  • event.endDate
  • event.lastModified
  • event.created
query Parameters
filters
Array of strings
Example: "?filters[]={LOGIC}-{FIELD}-{OPERATOR}-{VALUE}"

An array of filter strings.

See the filtering explanation for more information

sorts
Array of strings
Example: "?sorts[]={FIELD}-{DIRECTION}"

An array of sort strings.

See the sorting explanation for more information

page
number
Example: "?page={PAGE_NUMBER}"

The page number to retrieve.

See the pagination explanation for more information.

per_page
number
Example: "?per_page={QUANTITY}"

The number of items per page to retrieve.

See the pagination explanation for more information.

withTrashed
number
Enum:0 1
Example: "?withTrashed=1"

Includes soft deleted resources.

include
string
Example: "?include=resources"

Comma separated string of related data to include in the response.

See the includes explanation for more information.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Responses

200

Success

401

Unauthorized

get /events
https://public.api.akkroo.com/v2/events

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieve an event

path Parameters
eventID
required
string

The unique identifier of the event to be retrieved.

query Parameters
include
string
Example: "?include=resources"

Comma separated string of related data to include in the response.

See the includes explanation for more information.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Responses

200

Success

401

Unauthorized

404

Resource not found

get /events/{eventID}
https://public.api.akkroo.com/v2/events/{eventID}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 1,
  • "lastModified": "2019-01-01T00:00:00+00:00",
  • "created": "2019-01-01T00:00:00+00:00",
  • "name": "My Event",
  • "type": 1,
  • "status": 1,
  • "date": "2019-01-01T00:00:00+00:00",
  • "endDate": "2019-01-01T00:00:00+00:00",
  • "styleJSON":
    {
    },
  • "collection": "Test Events",
  • "tags": { },
  • "appSchema": { },
  • "template":
    {
    },
  • "resources":
    [],
  • "recordsLastModified": "2019-01-01T00:00:00+00:00"
}

Retrieve event resources

path Parameters
eventID
required
string

The unique identifier of the event from which to retrieve resources.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Responses

200

Success

400

Bad request

401

Unauthorized

404

Resource not found

get /events/{eventID}/resources
https://public.api.akkroo.com/v2/events/{eventID}/resources

Response samples

application/json
Copy
Expand all Collapse all
[]

Records

A record consists of a collection of data from an individual. It includes:

  • the time the data was collected
  • responses to questions, comments and starring
  • who collected the data
  • plus more

Values

The answers to questions defined for an event are stored in the record’s values object, which needs to be structured in the following format:

  • The property names for the values object must be match the field ID's defined in the event template
  • The value for each property must be an object (value object)
  • The value object must contain the property value

Below are example values for each field type:

    
{
  "values" : {
    // text
    "fullName" : {
      "value": "John Doe"
    },
    // email
    "emailAddress" : {
      "value": "john.doe@test.com"
    },
    // number
    "age": {
      "value": 21
    },
    // tel
    "telephoneNo": {
      "value": "+447000000000"
    },
    // url
    "websiteUrl": {
      "value": "https://www.integrate.com"
    },
    // autocomplete
    "country": {
      "value": "United Kingdom"
    },
    // date
    "dateOfBirth": {
      "value": "1989-01-01T00:00:00+00:00"
    },
    // checkbox
    "moreInformation": {
      "value": "Yes"
    },
    // checkboxGroup
    "productInterests": {
      "value": [
        "Product 1",
        "Product 2"
      ]
    },
    // select
    "title": {
      "value": "Mr"
    },
    // radio
    "gender": {
      "value": "Male"
    },
    // rating
    "rating": {
      "value": 8
    },
    // linkbuilder
    "moreInformation": {
      "value" : [
        'https://test.com/product_one_brochure.pdf',
        'https://test.com/product_three_brochure.pdf'
      ]
    },
    // cameraPhoto
    "photo" : {
      "value": "e95217a0-ac60-11e9-880c-1fb645532f1f", // The ID returned from uploading binary data for a resource
      "metadata" : {
        "uploadGUID" : "e95217a0-ac60-11e9-880c-1fb645532f1f", // The ID returned from uploading binary data for a resource
      }
    },
    // businessCard
    "businessCard" : {
      "value": "e9535020-ac60-11e9-880c-1fb645532f1f", // The ID returned from uploading binary data for a resource
      "metadata" : {
        "uploadGUID" : "e9535020-ac60-11e9-880c-1fb645532f1f" // The ID returned from uploading binary data for a resource
      }
    },
    // badgeScan
    "badgeScan" : {
      "value": "8374;Tilly;Stewart;Assistant Director;Gustr;Building;Road;City;State;AB1 2CD;United Kingdom;ZZ1 1ZZ;Some Province;07826354611;+1;09876543210;tillystewart@gustr.com"
    }
  }
}
    
  



Includes

The availble includes are:

  • event - The event to which the record belongs
  • resources - The resources that are related to the record
  • parent - If a duplicate record: the parent record (main duplicate)
  • children - If a main duplicate record: The child records (duplicates)

For more information see the includes explanation

Retrieve a list of records

Filters & Sorts

The properties available for filtering and sorting records are not limited and any property may be used. You can also use the dot notation to indicate that nested properties are to be queried..

Example: and-values.firstName.value-eq-John

For more information see the filters and sorts explanation.

path Parameters
eventID
required
string

The unique identifier of the event from which records should be retrieved.

query Parameters
filters
Array of strings
Example: "?filters[]={LOGIC}-{FIELD}-{OPERATOR}-{VALUE}"

An array of filter strings.

See the filtering explanation for more information

sorts
Array of strings
Example: "?sorts[]={FIELD}-{DIRECTION}"

An array of sort strings.

See the sorting explanation for more information

page
number
Example: "?page={PAGE_NUMBER}"

The page number to retrieve.

See the pagination explanation for more information.

per_page
number
Example: "?per_page={QUANTITY}"

The number of items per page to retrieve.

See the pagination explanation for more information.

withTrashed
number
Enum:0 1
Example: "?withTrashed=1"

Includes soft deleted resources.

include
string
Example: "?include=resources"

Comma separated string of related data to include in the response.

See the includes explanation for more information.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Responses

200

Success

401

Unauthorized

get /events/{eventID}/records
https://public.api.akkroo.com/v2/events/{eventID}/records

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a record

path Parameters
eventID
required
string

The unique identifier of the event for which the record will be created.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Request Body schema: application/json
isCheckIn
boolean

Indicates if the record was uploaded as part of a check-in list.

values
required
object

The responses to questions defined for the event. See the values section for more information.

timeArrived
required
RFC3339 UTC Date (string) or null

Indicates when the record was created on the client.

starred
boolean

Flag indicating if the record is important.

Responses

201

Created

202

Created and flagged as duplicate

400

Bad request

401

Unauthorized

post /events/{eventID}/records
https://public.api.akkroo.com/v2/events/{eventID}/records

Request samples

application/json
Copy
Expand all Collapse all
{
  • "isCheckIn": true,
  • "isAttending": true,
  • "publicUserID": 0
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "57178e112798716007123456",
  • "isCheckIn": true,
  • "appUserID": null,
  • "source": "upload",
  • "eventID": 1,
  • "values":
    {
    },
  • "companyID": 1,
  • "created": "2018-04-20T15:11:29+01:00",
  • "lastModified": "2018-04-20T15:11:29+01:00"
}

Retrieve a record

path Parameters
eventID
required
string

The unique identifier of the event from which the record should be retrieved.

recordID
required
string

The unique identifier of the record to be retrieved.

query Parameters
includeParent
string
Example: "?include=parent"

Includes parent record if duplicate

includeChildren
string
Example: "?include=children"

Includes child records if duplicate

include
string
Example: "?include=resources"

Comma separated string of related data to include in the response.

See the includes explanation for more information.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Responses

200

Success

400

Bad request

401

Unauthorized

404

Resource not found

get /events/{eventID}/records/{recordID}
https://public.api.akkroo.com/v2/events/{eventID}/records/{recordID}

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update a record

path Parameters
eventID
required
string

The unique identifier of the event for which the record is to be updated.

recordID
required
string

The unique identifier of the record to be updated.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Request Body schema: application/json
isCheckIn
boolean

Indicates if the record was uploaded as part of a check-in list.

values
object

The responses to questions defined for the event. See the values section for more information.

timeArrived
RFC3339 UTC Date (string) or null

Indicates when the record was created on the client.

starred
boolean

Flag indicating if the record is important.

Responses

200

Success

400

Bad request

401

Unauthorized

404

Resource not found

412

A more recent resource already existed

patch /events/{eventID}/records/{recordID}
https://public.api.akkroo.com/v2/events/{eventID}/records/{recordID}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "isCheckIn": true,
  • "isAttending": true,
  • "publicUserID": 0,
  • "values": { },
  • "lastModified": "2019-01-01T00:00:00+00:00",
  • "created": "2019-01-01T00:00:00+00:00",
  • "timeArrived": "2019-01-01T00:00:00+00:00",
  • "deleted":
    {
    },
  • "updated":
    {
    },
  • "parent": null,
  • "children": null,
  • "starred": true,
  • "badgeIntegrationSuccess": true,
  • "duplicateOf": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "isCheckIn": true,
  • "isAttending": true,
  • "publicUserID": 0,
  • "source": "upload",
  • "eventID": 0,
  • "values": { },
  • "companyID": 0,
  • "lastModified": "2019-01-01T00:00:00+00:00",
  • "created": "2019-01-01T00:00:00+00:00",
  • "timeArrived": "2019-01-01T00:00:00+00:00",
  • "versions": [ ],
  • "valueValidationErrors": [ ],
  • "deleted":
    {
    },
  • "updated":
    {
    },
  • "resources":
    [],
  • "parent": null,
  • "children": null,
  • "starred": true,
  • "badgeIntegrationSuccess": true,
  • "isDuplicate": true,
  • "isMainDuplicate": true,
  • "duplicateOf": "string"
}

Delete a record

path Parameters
eventID
required
string

The unique identifier of the event for which the record should be deleted.

recordID
required
string

The unique identifier of the record to be deleted.

header Parameters
Authorization
required
string

The access token obtained through authentication.

X-Request-ID
string <uuid>

The Request ID to be used for replaying requests in case of an unstable internet connection.

Content-Type
string <uuid>

Type of the content used on response; it should always be application/json.

Responses

200

Success

401

Unauthorized

404

Resource not found

delete /events/{eventID}/records/{recordID}
https://public.api.akkroo.com/v2/events/{eventID}/records/{recordID}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "error":
    {
    }
}

Retrieve a list of record resources

path Parameters
eventID
required
string

The unique identifier of the event containing the record for which the resources should be retrieved.

recordID
required
string

The unique identifier of the record for which resources should be retrieved.

header Parameters