AccessGrants

Sharing of an Assessment, Item, Scale, or Domain to other Core Organization(s)

Bulk assign organizations to an assessment

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/access_grants/bulk

Parameters

Name Description Type
organization_ids Array of Organization ids that are allowed access to an Assessment array

Request

Route

POST /api/assessments/2419690502125257913/access_grants/bulk

Headers

Authorization: Bearer 633882f3-b789-4ff3-a936-f953324480ae
Accept: application/json
Content-Type: application/json

Body

{
  "organization_ids": [
    "247060dd-5fd2-42dd-8eaa-550fd2c6f1b9"
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Create an Access Grant for an Assessment

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/access_grants

Parameters

Name Description Type
access_grant[organization_id] required The ID of the Organization that is being granted access to this Assessment string

Request

Route

POST /api/assessments/2419690489718506663/access_grants

Headers

Authorization: Bearer 49f4e4f0-9cb5-44f7-b221-48f3f12d648e
Accept: application/json
Content-Type: application/json

Body

{
  "access_grant": {
    "organization_id": "153af4ae-24e5-48be-8cb2-6be085192309"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690489903056041",
    "grantable_id": "2419690489718506663",
    "grantable_type": "Assessment",
    "organization_xid": "153af4ae-24e5-48be-8cb2-6be085192309"
  }
}

Create an Access Grant for an Item

Authorization: Firebase JWT

Endpoint

POST /api/items/:item_id/access_grants

Parameters

Name Description Type
access_grant[organization_id] required The ID of the Organization that is being granted access to this Item string

Request

Route

POST /api/items/2419690470617646220/access_grants

Headers

Authorization: Bearer cc6f623d-05b9-48b7-83e8-ebecadbc57a9
Accept: application/json
Content-Type: application/json

Body

{
  "access_grant": {
    "organization_id": "fa30172d-253d-478f-bc07-bfe5187202c5"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690470785418382",
    "grantable_id": "2419690470617646220",
    "grantable_type": "Item",
    "organization_xid": "fa30172d-253d-478f-bc07-bfe5187202c5"
  }
}

Create an AccessGrant for a Domain

Authorization: Firebase JWT

Endpoint

POST api/domains/:domain_id/access_grants

Parameters

Name Description Type
organization_id required ID of the Organization that is being granted access to the Domain string

Request

Route

POST api/domains/2419690495892522160/access_grants

Headers

Authorization: Bearer 08af701d-c2a2-48e8-a0ff-ad3d72691b0a
Accept: application/json
Content-Type: application/json

Body

{
  "access_grant": {
    "organization_id": "922da128-d7df-4b94-8dee-6aac46353f33"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690496051905714",
    "grantable_id": "2419690495892522160",
    "grantable_type": "Domain",
    "organization_xid": "922da128-d7df-4b94-8dee-6aac46353f33"
  }
}

Create an AccessGrant for a Scale

Authorization: Firebase JWT

Endpoint

POST api/scales/:scale_id/access_grants

Parameters

Name Description Type
organization_id required ID of the Organization that is being granted access to the Scale string

Request

Route

POST api/scales/2419690504801223873/access_grants

Headers

Authorization: Bearer aae5d70f-52ca-4a3b-8eb2-d6c994896b34
Accept: application/json
Content-Type: application/json

Body

{
  "access_grant": {
    "organization_id": "950bc3e6-de71-4a2c-bcaf-5759958101ad"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690505061270723",
    "grantable_id": "2419690504801223873",
    "grantable_type": "Scale",
    "organization_xid": "950bc3e6-de71-4a2c-bcaf-5759958101ad"
  }
}

Destroy an Access Grant

Requires that the user have CREATE_ASSESSMENT permission for the organization that owns the associated grantable object.

Endpoint

DELETE /api/access_grants/:access_grant_id

Request

Route

DELETE /api/access_grants/2419690511000405195

Headers

Authorization: Bearer 8cc2800f-7f71-4035-b73a-e2840c99c2fb
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Get a list of Access Grants for an assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/access_grants

Request

Route

GET /api/assessments/2419690457388811386/access_grants

Headers

Authorization: Bearer 2f40b34c-16db-4036-81e4-a9ec33657a61
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690457422365819",
      "grantable_id": "2419690457388811386",
      "grantable_type": "Assessment",
      "organization_xid": "31d57535-2d60-4b9a-b97b-ff4c6c44a82d"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Access Grants for an domain

Authorization: Firebase JWT

Endpoint

GET /api/domains/:domain_id/access_grants

Request

Route

GET /api/domains/2419690464284247171/access_grants

Headers

Authorization: Bearer 650f7764-cba7-4b20-8f9e-47584755acc6
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690464309412996",
      "grantable_id": "2419690464284247171",
      "grantable_type": "Domain",
      "organization_xid": "769a6793-12af-4a65-ab3e-e4e6614ad3d3"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Access Grants for an item

Authorization: Firebase JWT

Endpoint

GET /api/items/:item_id/access_grants

Request

Route

GET /api/items/2419690482789516446/access_grants

Headers

Authorization: Bearer 5321849a-6ca9-478b-ac2b-9edf4fc13c49
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690482814682271",
      "grantable_id": "2419690482789516446",
      "grantable_type": "Item",
      "organization_xid": "a1870061-481b-42e8-998a-40e4c118c277"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Access Grants for an scale

Authorization: Firebase JWT

Endpoint

GET /api/scales/:scale_id/access_grants

Request

Route

GET /api/scales/2419690476716164245/access_grants

Headers

Authorization: Bearer afa1eada-8414-4a7d-bf1b-213ddb49ed53
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690476758107286",
      "grantable_id": "2419690476716164245",
      "grantable_type": "Scale",
      "organization_xid": "623d65bb-79fe-45f0-8c91-f50a7bf4915f"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

ApiKeys

An application can use http authentication (using application key and password sent using HTTP basic auth headers) to generate a token to be used for bearer token authentication

Create a token (Api Key) for an application to be used for token authentication

Endpoint

POST /api/api_keys

Request

Route

POST /api/api_keys

Headers

Authorization: Basic QVBQTElDQVRJT05fODpXdzNEd0lmU3E0OFpx
Content-Type: application/x-www-form-urlencoded

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": 2419689532402173895,
    "token": "2593ee5c7fa44f78f79e618b4916fc1c4ea42e9e20cf3911d49f65c72175d452",
    "created_at": "2023-02-21T13:51:10.089-07:00"
  }
}

Destroy an Api Key

An Application can delete its own Api Keys

Endpoint

DELETE /api/api_keys/:api_key_id

Request

Route

DELETE /api/api_keys/2419689543869401035

Headers

Authorization: Bearer 326c0ea633eb166c20bec38cd0f23918
Content-Type: application/x-www-form-urlencoded

Response

Simulated Response

Status

204

Get an application's Api Keys

Endpoint

GET /api/api_keys

Request

Route

GET /api/api_keys

Headers

Authorization: Bearer a1e96687c07d980277f18634489ab5f5

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": 2419689537686996937,
      "token": null,
      "created_at": "2023-02-21T13:51:10.718-07:00"
    }
  ]
}

Assessments

An Assessment in its most basic form is bag of questions and their answers.

Clone an Assessment

Creates a clone of an existing Assessment with the following aspects: * The cloned assessments’s name attribute is prefixed with ‘[Clone]’ * The cloned assessments’s privacy setting is ‘private’ * Adds the same items, scales, and domains as the original to the cloned Assessment * Tags the cloned Assessment with the same tags as the original

Endpoint

POST /api/assessments/:id/clone

Request

Route

POST /api/assessments/2419689837764282028/clone

Headers

Authorization: Bearer 340505f1-9334-4158-b275-25c76a0b94bf
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689838032717488",
    "title": "[CLONE] Ratione aliquid.",
    "display_title": "Deleniti autem.",
    "description": "Et porro quae. Dicta mollitia et. Ab qui debitis.\nPossimus ullam repellat. Nobis sit est. Rerum nulla non.",
    "type": "ordinal",
    "show_longitudinal_results": false,
    "state": "created",
    "created_at": "2023-02-21T13:51:46.523-07:00",
    "updated_at": "2023-02-21T13:51:46.529-07:00",
    "logo_cloudinary_xid": null,
    "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
    "author_name": "I. Lasch",
    "author_description": "Quidem tempore nemo. Aut soluta ipsum. Ad doloremque laborum.",
    "status": "draft",
    "short_description": "Numquam et soluta. Quia debitis voluptatem. Officia ut quibusdam.",
    "long_description": "[\"Expedita odio aut. Suscipit eaque aperiam. Molestiae et aut.\", \"Est impedit enim. Corrupti ut eius. Voluptatibus architecto repellendus.\", \"Expedita mollitia totam. Hic animi itaque. Et ut voluptatem.\"]",
    "has_results_app": false,
    "deployment_sessions_count": 0,
    "videos": [
      {
        "url": "https://vimeo.com/1538759",
        "title": "Ah, Wilderness!"
      }
    ],
    "privacy": "private",
    "display_description": "Dolor libero aut. Voluptas sint incidunt. Eius accusantium qui.",
    "published_at": null,
    "testimonials": [
      {
        "name": "Agustin Von",
        "quote": "If he were to punch you in the face you would have to fight off a strong urge to thank him",
        "organization": "Huel Inc"
      }
    ],
    "custom_support_url": "https://jacobs-runolfsdottir.name/carroll_heller",
    "user_result_preview_url": null,
    "org_result_preview_url": null,
    "icon_name": "est",
    "shared_with_org_ids": [

    ],
    "shared_with_verticals": [

    ],
    "organization_xid": "ad48787c-9687-4eb8-a792-b54c27b8a5d2",
    "highlighted": false,
    "highlighted_text": null,
    "deploy_anonymously": false,
    "allow_csv_download": true
  }
}

Create an Assessment

Authorization: Firebase JWT

Endpoint

POST /api/organizations/:organization_id/assessments

Parameters

Name Description Type
assessment[title] required The title of the Assessment. 50 character limit string
assessment[display_title] required Display title of the Assessment. 50 character limit string
assessment[display_description] required Description of the Assessment to be displayed to consumers. 300 character limit string
assessment[author_name] required Name of the author of the Assessment. 50 character limit string
assessment[author_description] required Description of the author of the Assessment. 500 character limit string
assessment[short_description] required Short description of the Assessment. 180 character limit string
assessment[long_description] required Long description of the Assessment. 1000 character limit string
assessment[videos] An array of hashes for video content structured in the following shape: [{ url: 'http.sampleurl.com', title: 'Video Title' }] Title of the video has a 50 character limit array
assessment[testimonials] An array of hashes of testimonials structured in the following shape: [{ name: 'Leslie Knope', organization: 'Pawnee City Council', quote: 'Hoes before bros. Uteruses before duderuses. Ovaries before brovaries.' }] Name has a 50 character limit. Quote has a 500 character limit. Organization has a 50 character limit. array
assessment[custom_support_url] Optional URL to direct users to a custom support site. string
assessment[user_result_preview_url] Optional URL to preview user result. string
assessment[org_result_preview_url] Optional URL to preview organization result. string
assessment[icon_name] Optional CSS class name used for the assessment's icon string
assessment[deploy_anonymously] Boolean attribute indicating whether deployments of this assessment are restricted from collecting Pii from respondents. Default setting is false. boolean

Request

Route

POST /api/organizations/42d44874-64f4-44a2-9a9b-1f8668aea69d/assessments

Headers

Authorization: Bearer 126d3e70-e24b-46ea-b811-b3bc050f7c21
Accept: application/json
Content-Type: application/json

Body

{
  "assessment": {
    "title": "ullam",
    "author_name": "repudiandae",
    "author_description": "Ipsum delectus maxime nihil.",
    "short_description": "Harum numquam eum expedita.",
    "long_description": "Adipisci quisquam quam ex.",
    "icon_name": "assumenda",
    "display_title": "voluptatibus",
    "display_description": "Molestiae in et occaecati.",
    "deploy_anonymously": true
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689831833536164",
    "title": "ullam",
    "display_title": "voluptatibus",
    "description": null,
    "type": "ordinal",
    "show_longitudinal_results": false,
    "state": "created",
    "created_at": "2023-02-21T13:51:45.784-07:00",
    "updated_at": "2023-02-21T13:51:45.784-07:00",
    "logo_cloudinary_xid": null,
    "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
    "author_name": "repudiandae",
    "author_description": "Ipsum delectus maxime nihil.",
    "status": "draft",
    "short_description": "Harum numquam eum expedita.",
    "long_description": "Adipisci quisquam quam ex.",
    "has_results_app": false,
    "deployment_sessions_count": 0,
    "videos": [

    ],
    "privacy": "private",
    "display_description": "Molestiae in et occaecati.",
    "published_at": null,
    "testimonials": [

    ],
    "custom_support_url": null,
    "user_result_preview_url": null,
    "org_result_preview_url": null,
    "icon_name": "assumenda",
    "shared_with_org_ids": [

    ],
    "shared_with_verticals": [

    ],
    "organization_xid": "42d44874-64f4-44a2-9a9b-1f8668aea69d",
    "highlighted": false,
    "highlighted_text": null,
    "deploy_anonymously": true,
    "allow_csv_download": true
  }
}

Get a list of Assessments by ID

Authorization: Firebase JWT

Endpoint

GET /api/assessments/find_all

Parameters

Name Description Type Items
ids required A list of Assessments using ids[]= syntax, or a comma separated list od IDs array {"type"=>"string"}

Request

Route

GET /api/assessments/find_all?ids[]=2419689849676105410&ids[]=2419689849718048451&ids[]=2419689849759991492

Headers

Authorization: Bearer 3d22c8a4-b58c-49bb-a6f6-ea01812621b3
Accept: application/json
Content-Type: application/json

Query Parameters

ids=["2419689849676105410", "2419689849718048451", "2419689849759991492"]

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689849676105410",
      "title": "Earum doloremque.",
      "display_title": "Non quo.",
      "description": "Provident debitis accusantium. In ut qui. Et sit et.\nUt asperiores possimus. Velit minima non. Dolor saepe error.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:47.911-07:00",
      "updated_at": "2023-02-21T13:51:47.911-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "Eve Hill",
      "author_description": "Voluptatum ducimus officia. Earum enim eum. Similique quae tempore.",
      "status": "draft",
      "short_description": "Iure ut laborum. Sit eveniet recusandae. Odit dolores vero.",
      "long_description": "[\"Eveniet quisquam dicta. Aliquam eum iure. Asperiores sint tempore.\", \"Qui sunt sit. Dolores et a. Eos molestias eligendi.\", \"Temporibus libero et. Cum quidem quisquam. Ad aperiam ut.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [

      ],
      "privacy": "private",
      "display_description": "Sed architecto iusto. Aliquam et nobis. Deserunt exercitationem dolorem.",
      "published_at": null,
      "testimonials": [

      ],
      "custom_support_url": null,
      "user_result_preview_url": null,
      "org_result_preview_url": null,
      "icon_name": "consequatur",
      "shared_with_org_ids": [

      ],
      "shared_with_verticals": [

      ],
      "organization_xid": null,
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    },
    {
      "id": "2419689849718048451",
      "title": "Quis voluptatem.",
      "display_title": "Et eveniet.",
      "description": "Neque unde explicabo. Nesciunt cum omnis. Qui reiciendis velit.\nAutem omnis corporis. Totam facilis itaque. Sint quos hic.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:47.917-07:00",
      "updated_at": "2023-02-21T13:51:47.917-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "Mason Jarr",
      "author_description": "Dolores aperiam quasi. Et sunt doloribus. Voluptatem et sit.",
      "status": "draft",
      "short_description": "Error quaerat libero. Odit aliquam omnis. Cum soluta ratione.",
      "long_description": "[\"Esse enim culpa. Voluptatem dolore fugit. Numquam provident repellat.\", \"Maiores quo aut. Suscipit aut ut. Explicabo ab hic.\", \"Nesciunt perferendis animi. Qui voluptatem non. Qui expedita illo.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [

      ],
      "privacy": "private",
      "display_description": "Pariatur et in. Quia dolorem rem. Qui dolore perferendis.",
      "published_at": null,
      "testimonials": [

      ],
      "custom_support_url": null,
      "user_result_preview_url": null,
      "org_result_preview_url": null,
      "icon_name": "dolor",
      "shared_with_org_ids": [

      ],
      "shared_with_verticals": [

      ],
      "organization_xid": null,
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    },
    {
      "id": "2419689849759991492",
      "title": "Tempore iure.",
      "display_title": "Sint quidem.",
      "description": "Mollitia similique sunt. Exercitationem fugit optio. Quibusdam necessitatibus id.\nOdit molestiae molestiae. Sed iste neque. Dolores qui consequatur.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:47.922-07:00",
      "updated_at": "2023-02-21T13:51:47.922-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "Darrell B. Moore",
      "author_description": "Mollitia nobis enim. Necessitatibus nemo enim. Minima est neque.",
      "status": "draft",
      "short_description": "Aut consectetur illo. Atque aut officiis. Velit et ut.",
      "long_description": "[\"Quasi porro et. Mollitia aut consequatur. Qui voluptatem aliquam.\", \"Omnis labore fugit. Et error repellendus. Sit quia provident.\", \"Repellendus nobis velit. Corporis dolores laboriosam. Et omnis ipsam.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [

      ],
      "privacy": "private",
      "display_description": "Cupiditate aut ut. Sit non quidem. Qui incidunt ad.",
      "published_at": null,
      "testimonials": [

      ],
      "custom_support_url": null,
      "user_result_preview_url": null,
      "org_result_preview_url": null,
      "icon_name": "rerum",
      "shared_with_org_ids": [

      ],
      "shared_with_verticals": [

      ],
      "organization_xid": null,
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    }
  ]
}

Get a list of Assessments owned by or shared with an Organization

Authorization: Firebase JWT

Endpoint

GET /api/organizations/:organization_id/assessments

Parameters

Name Description Type Default
assessment[include_shared] Indicates whether to include assessments that have been shared with this organization or its parent network organizations boolean
assessment[q] Optional parameter that adds a search criteria to the title field to further filter the returned list of assessments string
assessment[status] Optional parameter to scope results by published status. (Available options: draft, published) string
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[allow_csv_download | author_description | author_name | background_cloudinary_xid | created_at | custom_support_url | deploy_anonymously | deployment_sessions_count | description | display_description | display_title | featured | featured_position | highlighted | highlighted_text | icon_name | id | identifier | is_legacy | legacy_assessment_id | logo_cloudinary_xid | long_description | org_result_preview_url | organization_xid | privacy | published_at | short_description | show_longitudinal_results | state | status | step | testimonials | title | type | updated_at | user_id | user_result_preview_url | videos]
order Sort order

Request

Route

GET /api/organizations/919ad4f7-ddb6-4af9-b822-f50db680fa61/assessments?include_shared=true&q=praesentium

Headers

Authorization: Bearer 54a3c57e-3850-4c36-b2bf-bc97179e40f4
Accept: application/json
Content-Type: application/json

Query Parameters

include_shared=true
q=praesentium

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689863181764315",
      "title": "Praesentium quis.",
      "display_title": "Quas quaerat.",
      "description": "Recusandae enim qui. Quis saepe ut. Est blanditiis nisi.\nOdio molestiae sint. Eveniet veniam quia. Voluptatem repellat aliquam.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:49.521-07:00",
      "updated_at": "2023-02-21T13:51:49.521-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "Constance Noring",
      "author_description": "Laboriosam voluptates est. Ducimus incidunt explicabo. Hic voluptatem dolore.",
      "status": "draft",
      "short_description": "Mollitia facilis eum. Perferendis error ullam. Esse nulla sunt.",
      "long_description": "[\"Voluptatem alias corporis. Nihil nesciunt consequatur. Enim et neque.\", \"Nam fugit accusantium. Aut aut vitae. Ut voluptatem aperiam.\", \"Et consequuntur in. Odit accusamus magnam. Aliquid qui praesentium.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [
        {
          "url": "https://vimeo.com/1538759",
          "title": "Noli Me Tangere"
        }
      ],
      "privacy": "private",
      "display_description": "Itaque qui iure. Harum quia et. Est veritatis sed.",
      "published_at": null,
      "testimonials": [
        {
          "name": "Kasha Osinski",
          "quote": "Cars look both ways for him, before driving down a street",
          "organization": "Wolf, Greenfelder and Gerlach"
        }
      ],
      "custom_support_url": "https://hessel.io/corinne_bergstrom",
      "user_result_preview_url": "https://hansen.io/ruth",
      "org_result_preview_url": "https://kulas.org/trenton.stehr",
      "icon_name": "recusandae",
      "shared_with_org_ids": [

      ],
      "shared_with_verticals": [

      ],
      "organization_xid": "919ad4f7-ddb6-4af9-b822-f50db680fa61",
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Assessments shared with an Organization or with the Organization's vertical

Authorization: Firebase JWT

Endpoint

GET /api/organizations/:organization_id/assessments/shared_with_org

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[allow_csv_download | author_description | author_name | background_cloudinary_xid | created_at | custom_support_url | deploy_anonymously | deployment_sessions_count | description | display_description | display_title | featured | featured_position | highlighted | highlighted_text | icon_name | id | identifier | is_legacy | legacy_assessment_id | logo_cloudinary_xid | long_description | org_result_preview_url | organization_xid | privacy | published_at | short_description | show_longitudinal_results | state | status | step | testimonials | title | type | updated_at | user_id | user_result_preview_url | videos]
order Sort order

Request

Route

GET /api/organizations/eb9c35ce-4915-47f7-b097-fb1826b7beac/assessments/shared_with_org

Headers

Authorization: Bearer 381b411e-b9d4-4c89-9143-644d97ad06f9
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689825374307993",
      "title": "Provident eligendi.",
      "display_title": "Ducimus at.",
      "description": "Impedit quo soluta. Repudiandae natus amet. Sed ut adipisci.\nDeserunt ab eveniet. Quod maxime dolor. Nemo laboriosam aperiam.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:45.014-07:00",
      "updated_at": "2023-02-21T13:51:45.014-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "April Schauer",
      "author_description": "Quo et tenetur. Velit expedita nihil. Qui totam porro.",
      "status": "published",
      "short_description": "Id culpa vero. Ab porro distinctio. Delectus quisquam repellat.",
      "long_description": "[\"Consequatur dolorem culpa. Est odit ea. Quia eaque quis.\", \"Aut nisi itaque. Et eum dolorum. Natus quibusdam optio.\", \"Neque est ut. Aut laudantium voluptatem. Nam accusantium id.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [

      ],
      "privacy": "private",
      "display_description": "Harum consequatur hic. Laboriosam est et. Amet non minus.",
      "published_at": null,
      "testimonials": [

      ],
      "custom_support_url": null,
      "user_result_preview_url": null,
      "org_result_preview_url": null,
      "icon_name": "consectetur",
      "shared_with_org_ids": [

      ],
      "shared_with_verticals": [

      ],
      "organization_xid": null,
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Assessments where a Location may create Deployments

Authorization: Firebase JWT

Endpoint

GET /api/locations/:location_id/assessments

Parameters

Name Description Type Default
assessment[tag_ids] Optional array of Tag ids to filter results by array
assessment[status] Optional parameter to scope results by published status. (Available options: draft, published) string
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[allow_csv_download | author_description | author_name | background_cloudinary_xid | created_at | custom_support_url | deploy_anonymously | deployment_sessions_count | description | display_description | display_title | featured | featured_position | highlighted | highlighted_text | icon_name | id | identifier | is_legacy | legacy_assessment_id | logo_cloudinary_xid | long_description | org_result_preview_url | organization_xid | privacy | published_at | short_description | show_longitudinal_results | state | status | step | testimonials | title | type | updated_at | user_id | user_result_preview_url | videos]
order Sort order

Request

Route

GET /api/locations/785cacf7-0f7e-4006-b37b-a4fde4c71037/assessments?tag_ids[]=2419689856244385486

Headers

Authorization: Bearer d3262ab2-e81c-4e90-bcbd-05f22c937da7
Accept: application/json
Content-Type: application/json

Query Parameters

tag_ids=["2419689856244385486"]

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689856160499405",
      "title": "Voluptatem quia.",
      "display_title": "Aut quibusdam.",
      "description": "Illum ad sint. Libero sunt odit. Rerum et et.\nIncidunt minus accusantium. Sunt voluptatum ea. Sint voluptatem nostrum.",
      "type": "ordinal",
      "show_longitudinal_results": false,
      "state": "created",
      "created_at": "2023-02-21T13:51:48.683-07:00",
      "updated_at": "2023-02-21T13:51:48.715-07:00",
      "logo_cloudinary_xid": null,
      "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
      "author_name": "Marge Innastraightline",
      "author_description": "Sed est labore. Ab officia ut. Et itaque blanditiis.",
      "status": "draft",
      "short_description": "Praesentium dolores nulla. Qui nam explicabo. Cupiditate reprehenderit et.",
      "long_description": "[\"Tenetur et est. Perferendis autem deserunt. Rerum eligendi adipisci.\", \"Omnis ut corporis. Nihil itaque molestias. Ipsa deleniti dolore.\", \"Non quis eveniet. Sint error quo. Vel ut necessitatibus.\"]",
      "has_results_app": false,
      "deployment_sessions_count": 0,
      "videos": [
        {
          "url": "https://vimeo.com/1538759",
          "title": "The Grapes of Wrath"
        }
      ],
      "privacy": "limited_to_organization_ids",
      "display_description": "Quia sed mollitia. Vel neque commodi. Unde eum et.",
      "published_at": null,
      "testimonials": [
        {
          "name": "Art Abernathy",
          "quote": "No less than 25 Mexican folk songs have been written about his beard",
          "organization": "Sanford, Raynor and D'Amore"
        }
      ],
      "custom_support_url": "https://swift.io/jalisa_reichel",
      "user_result_preview_url": "https://keebler.com/teresia",
      "org_result_preview_url": "https://kulas.io/estrella",
      "icon_name": "non",
      "shared_with_org_ids": [
        "98c703e7-19f4-4618-96aa-3cceb036fa01"
      ],
      "shared_with_verticals": [

      ],
      "organization_xid": "524d7daa-fe37-4c97-8f5f-2d8a2695066c",
      "highlighted": false,
      "highlighted_text": null,
      "deploy_anonymously": false,
      "allow_csv_download": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:id

Request

Route

GET /api/assessments/2419689805694633582

Headers

Authorization: Bearer 5d55163f-2e15-48b6-a473-51e8aa8e281c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689805694633582",
    "title": "Et molestias.",
    "display_title": "Debitis illum.",
    "description": "Fugiat expedita iste. Error voluptatibus veniam. Qui quis quas.\nSequi iusto minus. Ut mollitia omnis. Modi ut fugiat.",
    "type": "ordinal",
    "show_longitudinal_results": false,
    "state": "created",
    "created_at": "2023-02-21T13:51:42.668-07:00",
    "updated_at": "2023-02-21T13:51:42.668-07:00",
    "logo_cloudinary_xid": null,
    "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
    "author_name": "Dale E. Bread",
    "author_description": "Ut hic sint. Quia maiores odit. Non neque animi.",
    "status": "draft",
    "short_description": "Ducimus sit quia. Veritatis quia ratione. Dolorem accusantium ratione.",
    "long_description": "[\"Voluptatibus nihil quam. Saepe cupiditate adipisci. Quibusdam non id.\", \"Consequatur facilis et. Et minus sint. Ut saepe id.\", \"Ea alias rerum. Doloremque cumque id. Eveniet voluptatem animi.\"]",
    "has_results_app": false,
    "deployment_sessions_count": 0,
    "videos": [
      {
        "url": "https://vimeo.com/1538759",
        "title": "To a God Unknown"
      }
    ],
    "privacy": "private",
    "display_description": "Aspernatur quidem enim. Aut autem ut. Et labore quibusdam.",
    "published_at": null,
    "testimonials": [
      {
        "name": "Lizzie Emard",
        "quote": "He has taught old dogs a variety of new tricks",
        "organization": "Nader-Kunde"
      }
    ],
    "custom_support_url": "https://hettinger-watsica.io/grover",
    "user_result_preview_url": "https://king.net/margaret.howell",
    "org_result_preview_url": "https://volkman-jerde.co/latanya",
    "icon_name": "libero",
    "shared_with_org_ids": [

    ],
    "shared_with_verticals": [

    ],
    "organization_xid": "91988199-a18e-4d9f-9e17-a9c50220ee6e",
    "highlighted": false,
    "highlighted_text": null,
    "deploy_anonymously": false,
    "allow_csv_download": true
  }
}

Get the duration for an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:id/duration

Request

Route

GET /api/assessments/2419689818193659525/duration

Headers

Authorization: Bearer b968729c-9cda-4162-aab1-4843958f2e1e
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "question_count": 2,
    "item_count": 3,
    "duration": {
      "low": 1,
      "high": 1
    }
  }
}

Update an Assessment

Authorization: Firebase JWT

Endpoint

PATCH /api/assessments/:id

Parameters

Name Description Type
assessment[title] The title of the Assessment string
assessment[description] Description of the Assessment string
assessment[display_title] Display title of the Assessment string
assessment[display_description] Description of the Assessment to be displayed to consumers string
assessment[author_name] Name of the author of the Assessment string
assessment[author_description] Description of the author of the Assessment string
assessment[short_description] Short description of the Assessment string
assessment[long_description] Long description of the Assessment string
assessment[status] Indicates the state of the Assessment. Allowed values: 'published'
assessment[privacy] Indicates whether other organizations can see and use this Assessment. Allowed values: ["private", "limited_to_organization_ids", "public", "limited_to_verticals"]
assessment[share_with_org_ids] An array of organization ids that are allowed access to this Assessment if the Assessment's privacy setting is set to 'limited_to_organization_ids'. If not included in the request, any existing share_with_org_ids will be deleted. array
assessment[share_with_verticals] An array of vertical names that are allowed access to this Assessment if the Assessment's privacy setting is set to 'limited_to_verticals'. If not included in the request, any existing share_with_verticals will be deleted. array
assessment[videos] An array of hashes for video content structured in the following shape: [{ url: 'http.sampleurl.com', title: 'Video Title' }] array
assessment[tag_ids] An array of Tag ids to associate with this Assessment. If not included in the request, any existing tag_ids will be deleted. array
assessment[related_assessment_ids] An array of Assessment ids that should be related to this Assessment array
assessment[testimonials] An array of hashes of testimonials structured in the following shape: [{ name: 'Leslie Knope', organization: 'Pawnee City Council', quote: 'Hoes before bros. Uteruses before duderuses. Ovaries before brovaries.' }] If not included in the request, any existing related_assessment_ids will be deleted. array
assessment[custom_support_url] Optional URL to direct users to a custom support site. string
assessment[user_result_preview_url] Optional URL to preview user result. string
assessment[org_result_preview_url] Optional URL to preview organization result. string
assessment[icon_name] Optional CSS class name used for the assessment's icon string
assessment[deploy_anonymously] Boolean attribute indicating whether deployments of this assessment are restricted from collecting Pii from respondents. Default setting is false. boolean

Request

Route

PATCH /api/assessments/2419689843980240568

Headers

Authorization: Bearer 9307fdce-7d5d-4d04-bf95-1855035361f0
Accept: application/json
Content-Type: application/json

Body

{
  "assessment": {
    "title": "The Best Assessment!",
    "videos": [
      {
        "url": "http://keebler.com/dominica",
        "title": "Great Video"
      }
    ],
    "status": "published",
    "privacy": "public",
    "deploy_anonymously": true
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689843980240568",
    "title": "The Best Assessment!",
    "display_title": "Dolores error.",
    "description": "Et dolore qui. Et rerum autem. Omnis sapiente dignissimos.\nAliquam mollitia consequuntur. A natus eos. Quibusdam velit quae.",
    "type": "ordinal",
    "show_longitudinal_results": false,
    "state": "created",
    "created_at": "2023-02-21T13:51:47.231-07:00",
    "updated_at": "2023-02-21T13:51:47.264-07:00",
    "logo_cloudinary_xid": null,
    "background_cloudinary_xid": "v1588967150/champions/626/ye895zqx9kqfbgfz9iua.png",
    "author_name": "Justin Casey Howells",
    "author_description": "Voluptatem minima architecto. Aut rerum velit. Nihil praesentium et.",
    "status": "published",
    "short_description": "Voluptas veritatis cupiditate. Exercitationem non autem. Velit quo vel.",
    "long_description": "[\"Incidunt commodi quos. Delectus deserunt suscipit. Explicabo fugit itaque.\", \"Et dolores accusantium. Facilis voluptatem consequatur. Omnis voluptatum pariatur.\", \"Veritatis hic ea. Neque ratione adipisci. Temporibus optio quia.\"]",
    "has_results_app": false,
    "deployment_sessions_count": 0,
    "videos": [
      {
        "url": "http://keebler.com/dominica",
        "title": "Great Video"
      }
    ],
    "privacy": "public",
    "display_description": "Quibusdam quia eveniet. Omnis sapiente temporibus. Quam error harum.",
    "published_at": "2023-02-21T13:51:47.261-07:00",
    "testimonials": [
      {
        "name": "Thresa Marks",
        "quote": "He has never walked into a spider web",
        "organization": "Hauck-Hintz"
      }
    ],
    "custom_support_url": "https://nienow.io/everette_johnson",
    "user_result_preview_url": "https://breitenberg.io/troy_beahan",
    "org_result_preview_url": "https://cummings.com/fredric",
    "icon_name": "iusto",
    "shared_with_org_ids": [

    ],
    "shared_with_verticals": [

    ],
    "organization_xid": "5414e3c6-9dfe-4253-85bb-a6a06635cc60",
    "highlighted": false,
    "highlighted_text": null,
    "deploy_anonymously": true,
    "allow_csv_download": true
  }
}

Authentication

Authorization must contain a Bearer token from the Gloo Firebase.

Many endpoints may be scoped by a DeploymentSession, using X-Silicone-User-Token

Authenticate using Application Token only

Authorization: Silicone Application Token

Endpoint

GET /api/features

Request

Route

GET /api/features

Headers

Authorization: Bearer 0ccb88e55efb7ed200a8fdce149c73cf
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ]
}

Authenticate using Deployment Session Token

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/features

Request

Route

GET /api/features

Headers

Authorization: Bearer 54cf9f9dff66ca3a3cdce7668af7b4a3
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDk4OTg1NTcwNDA3MXw3ZWQ1NmQ1NC03Y2M4LTQ4NDAtOTJmZi04MmEzMGY0ZTAwMTI=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ]
}

Authenticate using Gloo Identity Account Token

Authorization: Firebase JWT

Endpoint

GET /api/features

Request

Route

GET /api/features

Headers

Authorization: Bearer 3292fc72-0194-4b86-a036-802cd3d9924c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ]
}

Authenticate using Gloo Identity Account Token

Authorization: Firebase JWT

Endpoint

GET /api/features

Request

Route

GET /api/features

Headers

Authorization: Bearer 3292fc72-0194-4b86-a036-802cd3d9924c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ]
}

CalculationVariables

CalculationVariables represent the different variables used in the expression of a CustomCalculation

Delete a CalculationVariable

The CalculationVariable must not be used in the CustomCalculation’s expression

Endpoint

DELETE /api/calculation_variables/:calculation_variable_id

Request

Route

DELETE /api/calculation_variables/2419690064130868647

Headers

Authorization: Bearer febce51c-3888-4c49-b993-c906bcfc9025
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Get a CalculationVariable

Authorization: Firebase JWT

Endpoint

GET /api/calculation_variables/:calculation_variable_id

Request

Route

GET /api/calculation_variables/2419690056992163226

Headers

Authorization: Bearer 814c1b57-ebd5-4eb6-8663-009f802d864c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690056992163226",
    "name": "A",
    "score_config_id": "2419690056857945497",
    "score_config_type": "ItemScoreConfig"
  }
}

Get the CalculationVariables for a CustomCalculation

Authorization: Firebase JWT

Endpoint

GET /api/custom_calculations/:custom_calculation_id/calculation_variables

Request

Route

GET /api/custom_calculations/2419690073341560256/calculation_variables

Headers

Authorization: Bearer 57cba57d-6081-48fc-8419-f7412acf25c8
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690073408669122",
      "name": "A",
      "score_config_id": "2419690073375114689",
      "score_config_type": "ItemScoreConfig"
    },
    {
      "id": "2419690073442223555",
      "name": "B",
      "score_config_id": "2419690073375114689",
      "score_config_type": "ItemScoreConfig"
    }
  ]
}

Update a CalculationVariable

Authorization: Firebase JWT

Endpoint

PATCH /api/calculation_variables/:id

Parameters

Name Description Type
calculation_variable[name] Single letter name used to reference the variable (ie., A, B, C, etc.) string
calculation_variable[score_config_id] ID of the ScoreConfig used to generate a value for the variable integer
calculation_variable[score_config_type] Class name of the ScoreConfig (ie., ItemScoreConfig) used to generate a value for the variable string

Request

Route

PATCH /api/calculation_variables/2419690067159156148

Headers

Authorization: Bearer 05c8f27b-c1b3-46d7-8d02-8882f2e04335
Accept: application/json
Content-Type: application/json

Body

{
  "calculation_variable": {
    "name": "D",
    "score_config_id": 2419690067268208054,
    "score_config_type": "ItemScoreConfig"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690067159156148",
    "name": "D",
    "score_config_id": "2419690067268208054",
    "score_config_type": "ItemScoreConfig"
  }
}

CallToActions

A CTA is shown to the User as a result of completing an Assessment (really a Deployment) and receiving some score. Their use is optional. Common scenarios are simply saying Thank You, or calculating a score and showing them one of different links to more content based on the bucket (result-range) their score falls into.”

Create a Call To Action

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:deployment_id/call_to_actions

Parameters

Name Description Type
call_to_action[title] The CallToAction title string
call_to_action[description] The CallToAction description string
call_to_action[link_label] The label for the link to the CallToAction string
call_to_action[link_url] The URL for the link to the CallToAction string
call_to_action[result_range_id] The ID for the ResultRange string

Request

Route

POST /api/deployments/2419690011752400080/call_to_actions

Headers

Authorization: Bearer 4718a6b9-e1f7-418b-b40b-d5bb8c9ee01d
Accept: application/json
Content-Type: application/json

Body

{
  "call_to_action": {
    "link_url": "transfer_premium",
    "link_label": "Antonetta Larson DO"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690011928560850",
    "title": null,
    "description": null,
    "link_label": "Antonetta Larson DO",
    "link_url": "transfer_premium",
    "result_range_id": null,
    "created_at": "2023-02-21T13:52:07.249-07:00",
    "updated_at": "2023-02-21T13:52:07.249-07:00"
  }
}

Create with validation errors

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:deployment_id/call_to_actions

Parameters

Name Description Type
call_to_action[title] The CallToAction title string
call_to_action[description] The CallToAction description string
call_to_action[link_label] The label for the link to the CallToAction string
call_to_action[link_url] The URL for the link to the CallToAction string
call_to_action[result_range_id] The ID for the ResultRange string

Request

Route

POST /api/deployments/2419690018169685231/call_to_actions

Headers

Authorization: Bearer 03da49c6-c756-4398-8e4d-66610437521d
Accept: application/json
Content-Type: application/json

Body

{
  "call_to_action": {
    "link_url": "exhibition-drill",
    "link_label": null
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "link_label": [
        "must be present when link url present"
      ]
    },
    "details": {
      "link_label": [
        {
          "error": "must be present when link url present"
        }
      ]
    }
  }
}

Destroy a Call To Action

Authorization: Firebase JWT

Endpoint

DELETE /api/call_to_actions/:id

Request

Route

DELETE /api/call_to_actions/2419690008329847985

Headers

Authorization: Bearer 4e212753-14a1-4049-9b88-4d6843bd633d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Destroy with validation errors

Authorization: Firebase JWT

Endpoint

DELETE /api/call_to_actions/:id

Request

Route

DELETE /api/call_to_actions/2419690000947872915

Headers

Authorization: Bearer 9cf748bd-c59b-4fb9-b69d-c17b8f30f601
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
    },
    "details": {
    }
  }
}

Get a Call To Action

Authorization: Firebase JWT

Endpoint

GET /api/call_to_actions/:id

Request

Route

GET /api/call_to_actions/2419690036431684936

Headers

Authorization: Bearer 457d3a80-96e5-44f6-8064-8dffda86ac5d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690036431684936",
    "title": "leora",
    "description": "linger_deport",
    "link_label": "midnight-transfer",
    "link_url": "http://batz.net/filiberto_green",
    "result_range_id": null,
    "created_at": "2023-02-21T13:52:10.168-07:00",
    "updated_at": "2023-02-21T13:52:10.176-07:00"
  }
}

Get a list of CallToActions for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/call_to_actions

Parameters

Name Description Default
domain_id Filter by domain_id. ex. ?domain_id=1 for single value For multiple values use array syntax (?domain_id[]=1&domain_id[]=2) OR send as comma-separated values (?domain_id=1,2,3)
scale_id Filter by scale_id. ex. ?scale_id=1 for single value For multiple values use array syntax (?scale_id[]=1&scale_id[]=2) OR send as comma-separated values (?scale_id=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | deployment_id | description | id | link_label | link_url | result_range_id | result_ranges | title | updated_at] result_ranges
order Sort order asc

Request

Route

GET /api/deployments/2419690043578778986/call_to_actions

Headers

Authorization: Bearer a1979ef0-1972-494f-af26-556d39598b6c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690043402618214",
      "title": "tressie",
      "description": "branch-bless",
      "link_label": "report_onion",
      "link_url": "http://kling-pfannerstill.io/nestor",
      "result_range_id": null,
      "created_at": "2023-02-21T13:52:10.997-07:00",
      "updated_at": "2023-02-21T13:52:11.020-07:00"
    },
    {
      "id": "2419690044006598005",
      "title": "ima",
      "description": "provision-nursery",
      "link_label": "branch-twilight",
      "link_url": "http://zboncak.info/geralyn",
      "result_range_id": "2419690043520058728",
      "created_at": "2023-02-21T13:52:11.071-07:00",
      "updated_at": "2023-02-21T13:52:11.071-07:00"
    },
    {
      "id": "2419690044501525888",
      "title": "terrance.paucek",
      "description": "scale-plain",
      "link_label": "trivial-kidnap",
      "link_url": "http://nikolaus-jacobi.org/annmarie",
      "result_range_id": "2419690043545224553",
      "created_at": "2023-02-21T13:52:11.128-07:00",
      "updated_at": "2023-02-21T13:52:11.128-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 3
    }
  }
}

Get the Call To Action for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployment_sessions/:deployment_session_id/call_to_action

Request

Route

GET /api/deployment_sessions/2419690050608432526/call_to_action

Headers

Authorization: Bearer b73179f885001c43545fe05a3e83ff57
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA1MDYwODQzMjUyNnwxYjkzOWFlNC0wNGJhLTQ3MzctOTcyNC04MjE4ZjliZWUxMDg=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690050650375567:2419690050608432526",
    "title": "susana_turcotte",
    "description": "perception-conglomerate",
    "link_label": "glow-cruelty",
    "link_url": "UNSET/redirects/cta?deployment_session_auth_token=RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA1MDYwODQzMjUyNnwxYjkzOWFlNC0wNGJhLTQ3MzctOTcyNC04MjE4ZjliZWUxMDg=",
    "result_range_id": null,
    "created_at": "2023-02-21T13:52:11.862-07:00",
    "updated_at": "2023-02-21T13:52:11.862-07:00"
  }
}

Update a Call To Action

Authorization: Firebase JWT

Endpoint

PATCH /api/call_to_actions/:id

Parameters

Name Description Type
call_to_action[title] The CallToAction title string
call_to_action[description] The CallToAction description string
call_to_action[link_label] The label for the link to the CallToAction string
call_to_action[link_url] The URL for the link to the CallToAction string
call_to_action[result_range_id] The ID for the ResultRange string

Request

Route

PATCH /api/call_to_actions/2419690024167539980

Headers

Authorization: Bearer 2d71465a-5074-465c-b701-cb06a8853708
Accept: application/json
Content-Type: application/json

Body

{
  "call_to_action": {
    "link_url": "agree-book",
    "link_label": {
      "flexible_key": "name"
    }
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690024167539980",
    "title": "diann.halvorson",
    "description": "academy_condition",
    "link_label": "judge_hypothesis",
    "link_url": "agree-book",
    "result_range_id": null,
    "created_at": "2023-02-21T13:52:08.706-07:00",
    "updated_at": "2023-02-21T13:52:08.739-07:00"
  }
}

Update with validation errors

Authorization: Firebase JWT

Endpoint

PATCH /api/call_to_actions/:id

Parameters

Name Description Type
call_to_action[title] The CallToAction title string
call_to_action[description] The CallToAction description string
call_to_action[link_label] The label for the link to the CallToAction string
call_to_action[link_url] The URL for the link to the CallToAction string
call_to_action[result_range_id] The ID for the ResultRange string

Request

Route

PATCH /api/call_to_actions/2419690030031177002

Headers

Authorization: Bearer 94530570-3c5d-4fe3-9fff-af87628eafa5
Accept: application/json
Content-Type: application/json

Body

{
  "call_to_action": {
    "link_url": "diagram-guess",
    "link_label": null
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "link_label": [
        "must be present when link url present"
      ]
    },
    "details": {
      "link_label": [
        {
          "error": "must be present when link url present"
        }
      ]
    }
  }
}

Charts

Charts are used for custom graphing of the cohort of those that took a given Assessment. Only certain charts can be produced from certain Assessments.

Get a Custom Chart for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/charts/:slug

Parameters

Name Description Type Enum
slug The slug for the custom chart string ["abs-bible-frequency", "abs-centrality", "abs-engagement-segments", "abs-overall-scripture-engagement", "awana-childrens-ministry-bible-engagement", "awana-childrens-ministry-discussing", "awana-childrens-ministry-hearing", "awana-childrens-ministry-memorizing", "awana-childrens-ministry-praying", "awana-childrens-ministry-reading", "awana-childrens-ministry-singing", "awana-childrens-ministry-study", "barna-people-pulse-engagement-attendance", "barna-people-pulse-engagement-bible", "barna-people-pulse-engagement-connection", "barna-people-pulse-engagement-conversation", "barna-people-pulse-engagement-growth", "barna-people-pulse-engagement-leadership", "barna-people-pulse-engagement-most-pressing-concern", "barna-people-pulse-engagement-participation-past", "barna-people-pulse-engagement-participation-recent", "barna-people-pulse-engagement-partner", "barna-pulse-category-bible-centered-foundations", "barna-pulse-category-bible-centered-teaching", "barna-pulse-category-connected-community-connected", "barna-pulse-category-connected-community-relationships", "barna-pulse-category-data-informed-decisions", "barna-pulse-category-data-informed-systems", "barna-pulse-category-faith-bible", "barna-pulse-category-faith-jesus", "barna-pulse-category-faith-sharing-share", "barna-pulse-category-faith-sharing-talk", "barna-pulse-category-finances-living", "barna-pulse-category-finances-safety", "barna-pulse-category-future-focused-generation", "barna-pulse-category-future-focused-vision", "barna-pulse-category-health-mental", "barna-pulse-category-health-physical", "barna-pulse-category-holistic-stewardship-calling", "barna-pulse-category-holistic-stewardship-gifts", "barna-pulse-category-leadership-development-training", "barna-pulse-category-leadership-development-young-people", "barna-pulse-category-prayer-culture-habits", "barna-pulse-category-prayer-culture-power", "barna-pulse-category-relationships-contentment", "barna-pulse-category-relationships-satisfaction", "barna-pulse-category-resource-stability-financial", "barna-pulse-category-resource-stability-operate", "barna-pulse-category-serving-others-impact", "barna-pulse-category-serving-others-time", "barna-pulse-category-social-impact-injustices", "barna-pulse-category-social-impact-marginalized", "barna-pulse-category-spiritual-formation-partner", "barna-pulse-category-spiritual-formation-steps", "barna-pulse-category-team-health-expectations", "barna-pulse-category-team-health-trust", "barna-pulse-category-trusted-leaders-communication", "barna-pulse-category-trusted-leaders-trust", "barna-pulse-category-vocation-purpose", "barna-pulse-category-vocation-worth", "barna-pulse-category-worship-experience-closer", "barna-pulse-category-worship-experience-connected", "barna-pulse-demographic-age", "barna-pulse-demographic-children", "barna-pulse-demographic-church-attendance", "barna-pulse-demographic-church-tenure", "barna-pulse-demographic-education", "barna-pulse-demographic-employment", "barna-pulse-demographic-ethnicity", "barna-pulse-demographic-marital-status", "barna-pulse-demographic-sex", "barna-pulse-flourishing-personas", "barna-pulse-flourishing-scale-averages", "barna-pulse-item-bible-centered", "barna-pulse-item-connected-community", "barna-pulse-item-faith-sharing", "barna-pulse-item-holistic-stewardship", "barna-pulse-item-leadership-development", "barna-pulse-item-prayer-culture", "barna-pulse-item-serving-others", "barna-pulse-item-spiritual-formation", "barna-pulse-item-worship-experience", "barna-pulse-thriving-leading", "barna-pulse-thriving-nurturing", "barna-pulse-thriving-sending", "barna-shortened-people-pulse-church-attendance", "barna-shortened-people-pulse-demographic-ethnicity", "beliefs", "beliefs-practices-virtues", "church-engagement-breakdown", "church-engagement-by-category", "church-spiritual-growth-catalysts", "custom-questions", "engagement-by-spiritual-continuum", "generosity", "generosity-pulse-clarity", "generosity-pulse-communication", "generosity-pulse-impact", "generosity-pulse-indebtedness", "generosity-pulse-learning", "generosity-pulse-modeling", "generosity-pulse-satisfaction", "jesus-and-faith-active", "jesus-and-faith-advocated-for-justice", "jesus-and-faith-crucified", "jesus-and-faith-equipped-to-share", "jesus-and-faith-god", "jesus-and-faith-historical-person", "jesus-and-faith-joy-and-satisfaction", "jesus-and-faith-miracle-worker", "jesus-and-faith-personal-relationship", "jesus-and-faith-prayer-communication", "jesus-and-faith-raised", "jesus-and-faith-religious-leader", "jesus-and-faith-return", "jesus-and-faith-salvation", "jesus-and-faith-spiritual-continuum", "jesus-and-faith-spiritual-growth", "jesus-and-faith-words-and-actions", "love-of-others-by-spiritual-continuum", "mental-wellbeing-closeness", "mental-wellbeing-optimism", "mental-wellbeing-overall", "mental-wellbeing-thinking", "overall-church-engagement", "pace-of-growth", "practices", "prayer-pulse-answering", "prayer-pulse-church-helpfulness", "prayer-pulse-involvement", "prayer-pulse-power", "relationship-check-in-average-score-by-age", "relationship-check-in-category-averages", "relationship-check-in-category-averages-by-satisfaction", "relationship-check-in-overall-satisfaction", "reveal-individual-age", "reveal-individual-relationship-status", "reveal-individual-tenure", "reveal-love-of-others", "reveal-spiritual-growth-catalysts-beliefs", "reveal-spiritual-growth-catalysts-faith-in-action", "reveal-spiritual-growth-catalysts-practices", "reveal-spiritual-growth-catalysts-virtues", "spiritual-continuum", "spiritual-growth-catalysts", "virtues"]

Request

Route

GET /api/deployments/2419690322533549934/charts/engagement-by-spiritual-continuum

Headers

Authorization: Bearer af42e5f1-bca5-4778-808e-7a5f3dfcee38
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "chart": [
      {
        "name": "Exploring",
        "series": [
          {
            "label": "Minimally Engaged",
            "value": "3"
          },
          {
            "label": "Somewhat Engaged",
            "value": "16"
          },
          {
            "label": "Fully Engaged",
            "value": "7"
          }
        ]
      },
      {
        "name": "Growing",
        "series": [
          {
            "label": "Minimally Engaged",
            "value": "22"
          },
          {
            "label": "Somewhat Engaged",
            "value": "21"
          },
          {
            "label": "Fully Engaged",
            "value": "13"
          }
        ]
      },
      {
        "name": "Close to Christ",
        "series": [
          {
            "label": "Minimally Engaged",
            "value": "41"
          },
          {
            "label": "Somewhat Engaged",
            "value": "33"
          },
          {
            "label": "Fully Engaged",
            "value": "6"
          }
        ]
      },
      {
        "name": "Christ Centered",
        "series": [
          {
            "label": "Minimally Engaged",
            "value": "34"
          },
          {
            "label": "Somewhat Engaged",
            "value": "33"
          },
          {
            "label": "Fully Engaged",
            "value": "74"
          }
        ]
      }
    ]
  }
}

Custom Questions

Custom Questions are those that don’t exist as part of an Assessment that you may want to ask in a given Deployment. There is a limit to the number of custom questions that maybe be added to a Deployment.

Create a Custom Question

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:deployment_id/custom_questions

Parameters

Name Description Type Enum Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[item][item_type] The Item type string ["instruction", "multiple_choice", "multiple_select", "short_answer"]
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

POST /api/deployments/2419689926599641072/custom_questions

Headers

Authorization: Bearer 17d0afe1-5702-4829-b38b-0b06fd3b9667
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "item": {
      "item_type": "multiple_choice",
      "text": "What?",
      "item_options": [
        {
          "text": "Yes"
        },
        {
          "text": "No"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689926876465141",
    "deployment_id": "2419689926599641072",
    "item_id": "2419689926792579058",
    "position": 1,
    "required": true,
    "created_at": "2023-02-21T13:51:57.114-07:00",
    "updated_at": "2023-02-21T13:51:57.114-07:00",
    "deleted_at": null
  }
}

Create when too many Custom Questions

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:deployment_id/custom_questions

Parameters

Name Description Type Enum Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[item][item_type] The Item type string ["instruction", "multiple_choice", "multiple_select", "short_answer"]
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

POST /api/deployments/2419689912146069390/custom_questions

Headers

Authorization: Bearer 7eed3fba-1d89-4100-872a-591133138aef
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "item": {
      "item_type": "multiple_choice",
      "text": "What?",
      "item_options": [
        {
          "text": "Yes"
        },
        {
          "text": "No"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "Deployment may only have 30 Custom Questions."
      ]
    },
    "details": {
      "base": [
        {
          "error": "Deployment may only have 30 Custom Questions."
        }
      ]
    }
  }
}

Create with validation errors

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:deployment_id/custom_questions

Parameters

Name Description Type Enum Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[item][item_type] The Item type string ["instruction", "multiple_choice", "multiple_select", "short_answer"]
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

POST /api/deployments/2419689920517900253/custom_questions

Headers

Authorization: Bearer d8f59b1c-96dc-487f-ba06-236ecd4902a9
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "item": {
      "item_type": "multiple_choice",
      "text": null,
      "item_options": [
        {
          "text": "Yes"
        },
        {
          "text": "No"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "item.text": [
        "can't be blank"
      ]
    },
    "details": {
      "item.text": [
        {
          "error": "blank"
        }
      ]
    }
  }
}

Get a Custom Question

Authorization: Firebase JWT

Endpoint

GET /api/custom_questions/:id

Request

Route

GET /api/custom_questions/2419689875143919367

Headers

Authorization: Bearer acb9a08b-e9e6-4c7b-b487-0e00dfb3bdb4
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689875143919367",
    "deployment_id": "2419689875076810501",
    "item_id": "2419689875101976326",
    "position": 1,
    "required": false,
    "created_at": "2023-02-21T13:51:50.947-07:00",
    "updated_at": "2023-02-21T13:51:50.947-07:00",
    "deleted_at": null
  }
}

Get a list of Custom Questions for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/custom_questions

Parameters

Name Description Type Default
include_boolean Include deleted Custom Questions boolean false
item_type Filter by item_type. ex. ?item_type=1 for single value For multiple values use array syntax (?item_type[]=1&item_type[]=2) OR send as comma-separated values (?item_type=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[account_xid | created_at | deleted_at | deployment_id | id | item_id | position | required | updated_at] position
order Sort order asc

Request

Route

GET /api/deployments/2419689869280282352/custom_questions

Headers

Authorization: Bearer 38b05140-a795-40d7-88c4-da66ce16f0f1
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689869406111474",
      "deployment_id": "2419689869280282352",
      "item_id": "2419689869355779825",
      "position": 1,
      "required": false,
      "created_at": "2023-02-21T13:51:50.263-07:00",
      "updated_at": "2023-02-21T13:51:50.263-07:00",
      "deleted_at": null
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Soft Delete a Custom Question

Authorization: Firebase JWT

Endpoint

DELETE /api/custom_questions/:id

Request

Route

DELETE /api/custom_questions/2419689901995853670

Headers

Authorization: Bearer e74762ff-e452-46f8-86bf-c80427d722af
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Soft Delete with validation errors

Authorization: Firebase JWT

Endpoint

DELETE /api/custom_questions/:id

Request

Route

DELETE /api/custom_questions/2419689905091250043

Headers

Authorization: Bearer a8e35d76-1295-4e5a-ab09-ea45d3a6d04d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
    },
    "details": {
    }
  }
}

Update a Custom Question

Authorization: Firebase JWT

Endpoint

PATCH /api/custom_questions/:id

Parameters

Name Description Type Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[position] The position of the Custom Question, after the Assessment Items integer
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

PATCH /api/custom_questions/2419689881636701982

Headers

Authorization: Bearer fe97a1ef-d13e-4629-aa71-dd997de599ad
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "position": 2,
    "item": {
      "id": 2419689881494095643,
      "text": "new item text",
      "item_options": [
        {
          "id": 2419689881536038684,
          "text": "Heck Ya!",
          "position": 2
        },
        {
          "id": 2419689881577981725,
          "_destroy": true
        },
        {
          "text": "Maybe"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689881636701982",
    "deployment_id": "2419689881443763994",
    "item_id": "2419689881494095643",
    "position": 2,
    "required": true,
    "created_at": "2023-02-21T13:51:51.722-07:00",
    "updated_at": "2023-02-21T13:51:51.801-07:00",
    "deleted_at": null
  }
}

Update with Item Responses

Authorization: Firebase JWT

Endpoint

PATCH /api/custom_questions/:id

Parameters

Name Description Type Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[position] The position of the Custom Question, after the Assessment Items integer
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

PATCH /api/custom_questions/2419689888926402358

Headers

Authorization: Bearer 6ad5211b-1dff-4691-ab1a-56c930c39b77
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "position": 2,
    "item": {
      "id": 2419689888800573235,
      "text": "new item text",
      "item_options": [
        {
          "id": 2419689888859293492,
          "text": "Heck Ya!",
          "position": 2
        },
        {
          "id": 2419689888884459317,
          "_destroy": true
        },
        {
          "text": "Maybe"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "Item Options may not be added.",
        "Item Option positions may not be changed.",
        "Item Options may not be deleted."
      ]
    },
    "details": {
      "base": [
        {
          "error": "Item Options may not be added."
        },
        {
          "error": "Item Option positions may not be changed."
        },
        {
          "error": "Item Options may not be deleted."
        }
      ]
    }
  }
}

Update with validation errors

Authorization: Firebase JWT

Endpoint

PATCH /api/custom_questions/:id

Parameters

Name Description Type Items
custom_question[required] Must the User be required to answer the Custom Question boolean
custom_question[position] The position of the Custom Question, after the Assessment Items integer
custom_question[item][text] The Item text string
custom_question[item][item_options] Array of Item Options array {"type"=>"object"}

Request

Route

PATCH /api/custom_questions/2419689895637288783

Headers

Authorization: Bearer ec93e32d-2188-43cd-9c1c-e17aeeeb905c
Accept: application/json
Content-Type: application/json

Body

{
  "custom_question": {
    "required": true,
    "position": 2,
    "item": {
      "id": 2419689895452739404,
      "text": "new item text",
      "item_options": [
        {
          "id": 2419689895486293837,
          "text": "Heck Ya!",
          "position": 2
        },
        {
          "id": 2419689895545014094,
          "_destroy": true
        },
        {
          "text": "Maybe"
        }
      ]
    }
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "Item Options may not be added.",
        "Item Option positions may not be changed.",
        "Item Options may not be deleted."
      ]
    },
    "details": {
      "base": [
        {
          "error": "Item Options may not be added."
        },
        {
          "error": "Item Option positions may not be changed."
        },
        {
          "error": "Item Options may not be deleted."
        }
      ]
    }
  }
}

Deployment Sessions

A Deployment Session is an instance of an end-user completing an Assessment (Deployment).

Create a Deployment Session

Authorization: Silicone Application Token

Endpoint

POST /api/deployments/:deployment_id/deployment_sessions

Parameters

Name Description Type Enum
deployment_session[onboarding_method] The method that causes the User to create the DeploymentSession string ["unknown", "url", "sms", "qr_code", "application"]
deployment_session[test_mode] Whether the session is in test mode, or live boolean

Request

Route

POST /api/deployments/2419690079666570704/deployment_sessions

Headers

Authorization: Bearer 7866c07076486f9a6b933833b5cf9729
Accept: application/json
Content-Type: application/json

Body

{
  "deployment_session": {
    "test_mode": false,
    "onboarding_method": "url"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690079784011217",
    "deployment_id": "2419690079666570704",
    "status": "not_started",
    "onboarding_method": "url",
    "results_app_url": "http://steuber.com/margie?dsid=2419690079784011217&ut=RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA3OTc4NDAxMTIxN3w0M2FhMzcyMi03MWI2LTQ5NjQtODgyYi1mMWE1ZmFkNGNmMjc=",
    "auth_token": "RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA3OTc4NDAxMTIxN3w0M2FhMzcyMi03MWI2LTQ5NjQtODgyYi1mMWE1ZmFkNGNmMjc=",
    "authenticated": false,
    "test_mode": false,
    "pii_consented": false,
    "terms_accepted_at": null,
    "cta_clicked_at": null,
    "pii_acknowledged_at": null,
    "pii_collected_at": null,
    "in_progress_at": null,
    "completed_at": null,
    "last_scored_at": null,
    "created_at": "2023-02-21T13:52:15.333-07:00",
    "updated_at": "2023-02-21T13:52:15.333-07:00"
  }
}

Create with validation errors

Authorization: Silicone Application Token

Endpoint

POST /api/deployments/:deployment_id/deployment_sessions

Parameters

Name Description Type Enum
deployment_session[onboarding_method] The method that causes the User to create the DeploymentSession string ["unknown", "url", "sms", "qr_code", "application"]
deployment_session[test_mode] Whether the session is in test mode, or live boolean

Request

Route

POST /api/deployments/2419690085647648221/deployment_sessions

Headers

Authorization: Bearer 865257cf7bc1d8c25cc5ccc297650779
Accept: application/json
Content-Type: application/json

Body

{
  "deployment_session": {
    "test_mode": false,
    "onboarding_method": "url"
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
    },
    "details": {
    }
  }
}

Get a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployment_sessions/:id

Request

Route

GET /api/deployment_sessions/2419690103959979526

Headers

Authorization: Bearer dea6167817f9e7189bc91929cef6b944
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDEwMzk1OTk3OTUyNnw2YjU1OGFmMC02MmZmLTRjYWMtOWFmNy1kZjNmMGRiMjk2YTQ=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690103959979526",
    "deployment_id": "2419690103934813701",
    "status": "not_started",
    "onboarding_method": "unknown",
    "results_app_url": "http://collins-ward.info/carol?dsid=2419690103959979526&ut=RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDEwMzk1OTk3OTUyNnw2YjU1OGFmMC02MmZmLTRjYWMtOWFmNy1kZjNmMGRiMjk2YTQ=",
    "auth_token": null,
    "authenticated": false,
    "test_mode": false,
    "pii_consented": false,
    "terms_accepted_at": null,
    "cta_clicked_at": null,
    "pii_acknowledged_at": null,
    "pii_collected_at": null,
    "in_progress_at": null,
    "completed_at": null,
    "last_scored_at": null,
    "created_at": "2023-02-21T13:52:18.213-07:00",
    "updated_at": "2023-02-21T13:52:18.213-07:00"
  }
}

Update a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

PATCH /api/deployment_sessions/:id

Parameters

Name Description Type Enum
deployment_session[status] The status of the DeploymentSession string {"not_started"=>0, "in_progress"=>1, "completed"=>2}
deployment_session[onboarding_method] The method that causes the User to create the DeploymentSession string ["unknown", "url", "sms", "qr_code", "application"]
deployment_session[terms_accepted_at] The timestamp of when terms consent given datetime
deployment_session[pii_acknowledged_at] The timestamp of when PII consent given datetime
deployment_session[consent_item_id] The Gloo Consent Service ConsentItem ID used to create a ConsentLog for the DeploymentSession string

Request

Route

PATCH /api/deployment_sessions/2419690098012456440

Headers

Authorization: Bearer 46e23769257e73e6bf465d705736aa94
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA5ODAxMjQ1NjQ0MHxkYjYwODk5OS1iYjY0LTRlNmQtYTlmNS0zYzM3YWZiOWFhZTA=
Accept: application/json
Content-Type: application/json

Body

{
  "deployment_session": {
    "onboarding_method": "url",
    "status": "in_progress",
    "terms_accepted_at": "2018-12-19T15:12:07.000-07:00"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690098012456440",
    "deployment_id": "2419690097978902007",
    "status": "in_progress",
    "onboarding_method": "url",
    "results_app_url": "http://parker.biz/rae_bailey?dsid=2419690098012456440&ut=RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA5ODAxMjQ1NjQ0MHxkYjYwODk5OS1iYjY0LTRlNmQtYTlmNS0zYzM3YWZiOWFhZTA=",
    "auth_token": null,
    "authenticated": false,
    "test_mode": false,
    "pii_consented": false,
    "terms_accepted_at": "2018-12-19T15:12:07.000-07:00",
    "cta_clicked_at": null,
    "pii_acknowledged_at": null,
    "pii_collected_at": null,
    "in_progress_at": "2023-02-21T13:52:17.521-07:00",
    "completed_at": null,
    "last_scored_at": null,
    "created_at": "2023-02-21T13:52:17.504-07:00",
    "updated_at": "2023-02-21T13:52:17.521-07:00"
  }
}

Update with validation errors

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

PATCH /api/deployment_sessions/:id

Parameters

Name Description Type Enum
deployment_session[status] The status of the DeploymentSession string {"not_started"=>0, "in_progress"=>1, "completed"=>2}
deployment_session[onboarding_method] The method that causes the User to create the DeploymentSession string ["unknown", "url", "sms", "qr_code", "application"]
deployment_session[terms_accepted_at] The timestamp of when terms consent given datetime
deployment_session[pii_acknowledged_at] The timestamp of when PII consent given datetime
deployment_session[consent_item_id] The Gloo Consent Service ConsentItem ID used to create a ConsentLog for the DeploymentSession string

Request

Route

PATCH /api/deployment_sessions/2419690092123653610

Headers

Authorization: Bearer be336b145257df062ea5d5ef45dc69b2
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDA5MjEyMzY1MzYxMHxjMzM0MWNjOS1lOTg2LTRkZjItOTdjZC1lZTNkMGIzNmFhOTU=
Accept: application/json
Content-Type: application/json

Body

{
  "deployment_session": {
    "onboarding_method": "url",
    "status": "completed",
    "terms_accepted_at": "2018-12-19T15:12:07.000-07:00"
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "status": [
        "transition to completed is not allowed because current status is not in_progress"
      ]
    },
    "details": {
      "status": [
        {
          "error": "invalid"
        }
      ]
    }
  }
}

Deployment Statuses

Information on how many Deployment Sessions have been completed and if Deployment statistics are available yet (to protect PII).

Get Deployment status for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployments/:id/status

Request

Route

GET /api/deployments/2419689719493297601/status

Headers

Authorization: Bearer f4d1d1d6bcd0d9941bc86511dd50e35d
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTcxOTU3NzE4MzY4NHxlNGU1ZDQ2Yi1iYWQ3LTQ1OTEtYjNiYy1mNTdkOWRjN2MzNjU=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "completions_count": 0,
    "completions_threshold_count": 5,
    "results_locked": true
  }
}

Get Deployment status using the Application

Authorization: Silicone Application Token

Endpoint

GET /api/deployments/:id/status

Request

Route

GET /api/deployments/2419689696424625557/status

Headers

Authorization: Bearer 343d9419c1fe1c4f6e59eecfd1f5ae2c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "completions_count": 0,
    "completions_threshold_count": 5,
    "results_locked": true
  }
}

Get Deployment status when the user is a member of the creating organization

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/status

Request

Route

GET /api/deployments/2419689714149754302/status

Headers

Authorization: Bearer e0a60b45-18ec-4e45-ac63-794b31f9ad85
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "completions_count": 0,
    "completions_threshold_count": 5,
    "results_locked": true
  }
}

Get the status for a locked Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/status

Request

Route

GET /api/deployments/2419689708453889458/status

Headers

Authorization: Bearer eb24957b-b843-4148-8e21-36aff3f95b3c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "completions_count": 1,
    "completions_threshold_count": 5,
    "results_locked": true
  }
}

Get the status for an unlocked deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/status

Request

Route

GET /api/deployments/2419689702414091681/status

Headers

Authorization: Bearer 47cbea89-5a67-4b69-bf9a-7716e7643834
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "completions_count": 6,
    "completions_threshold_count": 5,
    "results_locked": false
  }
}

Deployments

A Deployment as an instance of an Assessment that may be taken by end-users. They are attached to a Core Service Organization’s Location. There are many customizations that can be applied to a Deployment.

Create Deployment for location

Authorization: Firebase JWT

Endpoint

POST /api/locations/:location_id/deployments

Parameters

Name Description Type Enum
deployment[assessment_id] required The Assessment for the Deployment string
deployment[name] The Deployment name string
deployment[display_title] The Custom Title for the Assessment string
deployment[access_code] The SMS access code for the Deployment string
deployment[pii] Configure Personally Identifiable Information input string ["required", "optional", "skip"]
deployment[source_type] required Source Application for the Deployment string ["unknown", "assessments_admin", "assessments_internal_admin", "journey_studio", "thryve"]
deployment[source_external_reference_id] Optional resource ID in Source Application string
deployment[show_results] Whether to show the user their results for the Deployment boolean
deployment[show_call_to_action] Whether to show the user their call to action for the Deployment boolean
deployment[expected_audience_count] The expected number of people that this assessment will be deployed to integer
deployment[starts_at] The timestamp of when the Deployment should start datetime
deployment[ends_at] The timestamp of when the Deployment should end datetime
deployment[external_results_url] A URL that will show a users results for the Deployment string
deployment[rangeable_id] The ID of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string
deployment[rangeable_type] The type of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string ["Domain", "Scale"]

Request

Route

POST /api/locations/69012219-1371-418e-829a-6a5cd2652182/deployments

Headers

Authorization: Bearer 0ed3337b-ec97-4794-8be1-5084314bfcee
Accept: application/json
Content-Type: application/json

Body

{
  "deployment": {
    "name": "strap_drill",
    "assessment_id": 2419690613861517015
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690614029289177",
    "assessment_id": "2419690613861517015",
    "location_xid": "69012219-1371-418e-829a-6a5cd2652182",
    "pii": "optional",
    "starts_at": null,
    "ends_at": null,
    "state": "future",
    "name": "strap_drill",
    "display_title": "Non molestias.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "VLKF",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNjE0MDI5Mjg5MTc3",
    "expected_audience_count": null,
    "external_results_url": null,
    "results_app_url": "UNSET/results",
    "show_results": true,
    "show_call_to_action": false,
    "sms_number": "74767",
    "rangeable_id": null,
    "rangeable_type": null,
    "created_at": "2023-02-21T13:53:19.030-07:00",
    "updated_at": "2023-02-21T13:53:19.030-07:00",
    "deleted_at": null
  }
}

Create a Deployment for location when the organization is not allowed to deploy the assessment

Authorization: Firebase JWT

Endpoint

POST /api/locations/:location_id/deployments

Parameters

Name Description Type Enum
deployment[assessment_id] required The Assessment for the Deployment string
deployment[name] The Deployment name string
deployment[display_title] The Custom Title for the Assessment string
deployment[access_code] The SMS access code for the Deployment string
deployment[pii] Configure Personally Identifiable Information input string ["required", "optional", "skip"]
deployment[source_type] required Source Application for the Deployment string ["unknown", "assessments_admin", "assessments_internal_admin", "journey_studio", "thryve"]
deployment[source_external_reference_id] Optional resource ID in Source Application string
deployment[show_results] Whether to show the user their results for the Deployment boolean
deployment[show_call_to_action] Whether to show the user their call to action for the Deployment boolean
deployment[expected_audience_count] The expected number of people that this assessment will be deployed to integer
deployment[starts_at] The timestamp of when the Deployment should start datetime
deployment[ends_at] The timestamp of when the Deployment should end datetime
deployment[external_results_url] A URL that will show a users results for the Deployment string
deployment[rangeable_id] The ID of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string
deployment[rangeable_type] The type of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string ["Domain", "Scale"]

Request

Route

POST /api/locations/eb5dfca4-b822-4f46-ab7c-901ed7e28469/deployments

Headers

Authorization: Bearer 5349278f-ddb2-4c3e-b169-4ddaa7f0882b
Accept: application/json
Content-Type: application/json

Body

{
  "deployment": {
    "name": "corn_diagram",
    "assessment_id": 2419690610598348473
  }
}

Response

Simulated Response

Status

403

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "You don't have access to this Assessment"
      ]
    },
    "details": {
      "base": [
        {
          "error": "You don't have access to this Assessment"
        }
      ]
    }
  }
}

Create a Deployment for location with validation errors

Authorization: Firebase JWT

Endpoint

POST /api/locations/:location_id/deployments

Parameters

Name Description Type Enum
deployment[assessment_id] required The Assessment for the Deployment string
deployment[name] The Deployment name string
deployment[display_title] The Custom Title for the Assessment string
deployment[access_code] The SMS access code for the Deployment string
deployment[pii] Configure Personally Identifiable Information input string ["required", "optional", "skip"]
deployment[source_type] required Source Application for the Deployment string ["unknown", "assessments_admin", "assessments_internal_admin", "journey_studio", "thryve"]
deployment[source_external_reference_id] Optional resource ID in Source Application string
deployment[show_results] Whether to show the user their results for the Deployment boolean
deployment[show_call_to_action] Whether to show the user their call to action for the Deployment boolean
deployment[expected_audience_count] The expected number of people that this assessment will be deployed to integer
deployment[starts_at] The timestamp of when the Deployment should start datetime
deployment[ends_at] The timestamp of when the Deployment should end datetime
deployment[external_results_url] A URL that will show a users results for the Deployment string
deployment[rangeable_id] The ID of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string
deployment[rangeable_type] The type of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string ["Domain", "Scale"]

Request

Route

POST /api/locations/8b60fe64-a5a1-4cbc-9303-40fef53318a6/deployments

Headers

Authorization: Bearer 892e335c-0f2f-4659-a981-c9f546abae94
Accept: application/json
Content-Type: application/json

Body

{
  "deployment": {
    "name": "curriculum_nursery",
    "assessment_id": 2419690603979736731,
    "access_code": "&&"
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "access_code": [
        "only allows alphanumeric characters",
        "is too short (minimum is 4 characters)"
      ]
    },
    "details": {
      "access_code": [
        {
          "error": "invalid",
          "value": "&&"
        },
        {
          "error": "too_short",
          "count": 4
        }
      ]
    }
  }
}

Download a CSV Report for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/csv_report

Request

Route

GET /api/deployments/2419690595146532426/csv_report

Headers

Authorization: Bearer e5c00086-e1ff-4961-a569-66f612254cc6
Accept: text/csv
Content-Type: text/csv

Response

Simulated Response

Status

200

Headers

Content-Type: text/csv; charset=utf-8

Body

Deployment ID,Session ID,Created At,Status,Onboarding Method,PII Collected,PII Consent Collected At

Download a CSV Report of Short-Answer Item Responses for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/csv_report_short_answers

Parameters

Name Description Type
item_id Item ID to scope responses by string

Request

Route

GET /api/deployments/2419690620589180663/csv_report_short_answers?item_id=2419690620622735096

Headers

Authorization: Bearer 58bf5a25-8667-4009-a1df-53f89a6ae4ef
Accept: text/csv
Content-Type: text/csv

Query Parameters

item_id=2419690620622735096

Response

Simulated Response

Status

200

Headers

Content-Type: text/csv; charset=utf-8

Body

First Name,Last Name,Email,Phone,Question,Answer
,,,,Voluptas voluptatem harum officia?,Et ullam vel. Aut ipsam esse. Velit nulla eveniet.

Get a Deployment for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployments/:id

Request

Route

GET /api/deployments/2419690582270019088

Headers

Authorization: Bearer 40ce52fce563a52dcb5fb54afd9bfe63
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY5MDU4MjI4Njc5NjMwNXwzMmYzNDljMS0zM2M1LTRhMjctODY2Ny05YjQwYTY2Y2QwMjI=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690582270019088",
    "assessment_id": "2419690581993195015",
    "location_xid": "b75779d6-0352-4c4d-b39e-0e2c944e326d",
    "pii": "required",
    "starts_at": "2023-02-15T06:41:15.000-07:00",
    "ends_at": "2023-03-04T00:02:24.000-07:00",
    "state": "active",
    "name": "exaggerate_stuff",
    "display_title": "Qui esse.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "DDLB",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTgyMjcwMDE5MDg4",
    "expected_audience_count": null,
    "external_results_url": "http://flatley-okeefe.biz/jermaine",
    "results_app_url": "http://flatley-okeefe.biz/jermaine",
    "show_results": true,
    "show_call_to_action": true,
    "sms_number": null,
    "rangeable_id": null,
    "rangeable_type": null,
    "created_at": "2023-02-21T13:53:15.244-07:00",
    "updated_at": "2023-02-21T13:53:15.244-07:00",
    "deleted_at": null
  }
}

Get a Deployment that is owned by an Organization that the User is a member of

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id

Request

Route

GET /api/deployments/2419690575315863017

Headers

Authorization: Bearer b77adf29-5797-4f31-a680-cb6578a4bf2c
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690575315863017",
    "assessment_id": "2419690574896432607",
    "location_xid": "88f55c84-7bbb-4d1c-849e-cdd23d0138bc",
    "pii": "required",
    "starts_at": "2023-02-15T11:01:45.000-07:00",
    "ends_at": "2023-02-25T19:13:24.000-07:00",
    "state": "active",
    "name": "cutting_appointment",
    "display_title": "Est sit.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "UPWI",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTc1MzE1ODYzMDE3",
    "expected_audience_count": null,
    "external_results_url": "http://beahan.org/alysha_bartell",
    "results_app_url": "http://beahan.org/alysha_bartell",
    "show_results": true,
    "show_call_to_action": true,
    "sms_number": "43984",
    "rangeable_id": "2419690575273919976",
    "rangeable_type": "Domain",
    "created_at": "2023-02-21T13:53:14.415-07:00",
    "updated_at": "2023-02-21T13:53:14.415-07:00",
    "deleted_at": null
  }
}

Get a Deployment using the Application

Authorization: Silicone Application Token

Endpoint

GET /api/deployments/:id

Request

Route

GET /api/deployments/2419690589039625784

Headers

Authorization: Bearer 545b23ed9a1529ade3968d13ca1e5e72
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690589039625784",
    "assessment_id": "2419690588704081454",
    "location_xid": "672ce589-84b0-43da-881d-fbae083d79c2",
    "pii": "required",
    "starts_at": "2023-02-14T11:10:06.000-07:00",
    "ends_at": "2023-03-05T03:59:04.000-07:00",
    "state": "active",
    "name": "provision_branch",
    "display_title": "Magni nobis.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "FJTB",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTg5MDM5NjI1Nzg0",
    "expected_audience_count": null,
    "external_results_url": "http://ritchie.co/kathrine",
    "results_app_url": "http://ritchie.co/kathrine",
    "show_results": true,
    "show_call_to_action": true,
    "sms_number": null,
    "rangeable_id": "2419690588980905527",
    "rangeable_type": "Domain",
    "created_at": "2023-02-21T13:53:16.051-07:00",
    "updated_at": "2023-02-21T13:53:16.051-07:00",
    "deleted_at": null
  }
}

Get a list of location-scoped Deployments

Authorization: Firebase JWT

Endpoint

GET /api/locations/:location_id/deployments

Parameters

Name Description Type Default
only_deleted Only return soft deleted Deployments boolean
[:assessment_id] Filter by [:assessment_id]. ex. ?[:assessment_id]=1 for single value For multiple values use array syntax (?[:assessment_id][]=1&[:assessment_id][]=2) OR send as comma-separated values (?[:assessment_id]=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[access_code | account_xid | assessment_display_title | assessment_id | assessment_title | completed_count | created_at | data_collection_notifications_sent_at | data_collection_started_at | deleted_at | description | display_title | ends_at | expected_audience_count | external_results_url | id | location_xid | name | organization_id | pii | rangeable_id | rangeable_type | results_unlocked_at | show_call_to_action | show_results | source_external_reference_id | source_type | starts_at | state | unlock_notifications_sent_at | updated_at]
order Sort order

Request

Route

GET /api/locations/347203ac-612c-4477-8109-3b479717e8c7/deployments

Headers

Authorization: Bearer fa96cf80-b51d-46fb-bbdf-ef3212d2fec9
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690565450859959",
      "assessment_id": "2419690564930766254",
      "location_xid": "347203ac-612c-4477-8109-3b479717e8c7",
      "pii": "required",
      "starts_at": "2023-02-14T23:12:59.000-07:00",
      "ends_at": "2023-03-04T16:06:59.000-07:00",
      "state": "active",
      "name": "exaggerate-story",
      "display_title": "Ut soluta.",
      "source_type": "unknown",
      "source_external_reference_id": null,
      "access_code": "AYRY",
      "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTY1NDUwODU5OTU5",
      "expected_audience_count": null,
      "external_results_url": "http://zieme.name/neil_ledner",
      "results_app_url": "http://zieme.name/neil_ledner",
      "show_results": true,
      "show_call_to_action": true,
      "sms_number": "82666",
      "rangeable_id": null,
      "rangeable_type": null,
      "created_at": "2023-02-21T13:53:13.237-07:00",
      "updated_at": "2023-02-21T13:53:13.237-07:00",
      "deleted_at": null
    },
    {
      "id": "2419690566113560001",
      "assessment_id": "2419690565585077688",
      "location_xid": "347203ac-612c-4477-8109-3b479717e8c7",
      "pii": "required",
      "starts_at": "2023-02-19T16:59:15.000-07:00",
      "ends_at": "2023-03-02T00:16:10.000-07:00",
      "state": "active",
      "name": "smile-cruelty",
      "display_title": "Voluptatem autem.",
      "source_type": "unknown",
      "source_external_reference_id": null,
      "access_code": "BJJB",
      "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTY2MTEzNTYwMDAx",
      "expected_audience_count": null,
      "external_results_url": "http://heaney.org/geraldo",
      "results_app_url": "http://heaney.org/geraldo",
      "show_results": true,
      "show_call_to_action": true,
      "sms_number": "82666",
      "rangeable_id": null,
      "rangeable_type": null,
      "created_at": "2023-02-21T13:53:13.317-07:00",
      "updated_at": "2023-02-21T13:53:13.317-07:00",
      "deleted_at": null
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get engagement metrics for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/engagement

Request

Route

GET /api/deployments/2419690557456516505/engagement

Headers

Authorization: Bearer 2e93af31-19ba-4994-b8de-f544695c3c5d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "starts": 0,
    "completions": 0,
    "completion_rate": 0.0,
    "participants": 0,
    "call_to_action_clicks": 0,
    "onboarding_methods": {
      "unknown": 0,
      "url": 0,
      "sms": 0,
      "qr_code": 0,
      "application": 0
    }
  }
}

Get the duration for a Deployment

Useful for setting users expectations on about how long (expressed in seconds) it will take to complete an Assessment..

Endpoint

GET /api/deployments/:id/duration

Request

Route

GET /api/deployments/2419690533674812733/duration

Headers

Authorization: Bearer 51755aff-d8b0-4b0f-8095-5b36aecb8921
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "question_count": 0,
    "item_count": 1,
    "duration": {
      "low": 0,
      "high": 0
    }
  }
}

Is a CSV Report available yet for a Deployment

To protect privacy, there is a minimum number of completions required before assessment results may be shown or downloaded for a given Deployment.

Endpoint

GET /api/deployments/:id/csv_report_available

Request

Route

GET /api/deployments/2419690525823075610/csv_report_available

Headers

Authorization: Bearer 3d7b2178-a36d-4cc7-989d-71c2c99391d8
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "csv_report_available": true
  }
}

Prevents a CSV report download if Assessment attribute 'allow_csv_download' is false

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:id/csv_report

Request

Route

GET /api/deployments/2419690599407945325/csv_report

Headers

Authorization: Bearer b02f130f-31f3-4e67-a37b-bffc555887db
Accept: text/csv
Content-Type: text/csv

Response

Simulated Response

Status

403

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "Not Allowed"
      ]
    },
    "details": {
      "base": [
        {
          "error": "Not Allowed"
        }
      ]
    }
  }
}

Restores a Soft Deleted Deployment

Authorization: Firebase JWT

Endpoint

POST /api/deployments/:id/undelete

Request

Route

POST /api/deployments/2419690514406180062/undelete

Headers

Authorization: Bearer dd1d61a1-f10d-471a-b256-5720d8c5d601
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690514406180062",
    "assessment_id": "2419690515144377577",
    "location_xid": "a2236e02-0b10-408a-9e3e-a498d0e8952c",
    "pii": "required",
    "starts_at": "2023-02-20T02:18:21.000-07:00",
    "ends_at": "2023-03-03T13:49:11.000-07:00",
    "state": "active",
    "name": "hypothesis-minister",
    "display_title": "Laudantium odit.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "EBAE",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTE0NDA2MTgwMDYy",
    "expected_audience_count": null,
    "external_results_url": "http://macejkovic.io/toshiko.schowalter",
    "results_app_url": "http://macejkovic.io/toshiko.schowalter",
    "show_results": true,
    "show_call_to_action": true,
    "sms_number": "09145",
    "rangeable_id": null,
    "rangeable_type": null,
    "created_at": "2023-02-21T13:53:07.153-07:00",
    "updated_at": "2023-02-21T13:53:07.248-07:00",
    "deleted_at": null
  }
}

Soft Deletes a Deployment

Authorization: Firebase JWT

Endpoint

DELETE /api/deployments/:id

Request

Route

DELETE /api/deployments/2419690522098533628

Headers

Authorization: Bearer e4bc0c50-a1cf-401c-8820-3a1cc3c39a74
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Update a Deployment

Authorization: Firebase JWT

Endpoint

PATCH /api/deployments/:id

Parameters

Name Description Type Enum
deployment[name] The Deployment name string
deployment[access_code] The SMS access code for the Deployment string
deployment[pii] Configure Personally Identifiable Information input string ["required", "optional", "skip"]
deployment[show_results] Whether to show the user their results for the Deployment boolean
deployment[show_call_to_action] Whether to show the user their call to action for the Deployment boolean
deployment[expected_audience_count] The expected number of people that this assessment will be deployed to integer
deployment[starts_at] The timestamp of when the Deployment should start datetime
deployment[ends_at] The timestamp of when the Deployment should end datetime
deployment[external_results_url] A URL that will show a users results for the Deployment string
deployment[rangeable_id] The ID of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string
deployment[rangeable_type] The type of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string ["Domain", "Scale"]

Request

Route

PATCH /api/deployments/2419690549487338875

Headers

Authorization: Bearer 42505bc5-d917-4586-a033-f340416ef69f
Accept: application/json
Content-Type: application/json

Body

{
  "deployment": {
    "show_results": false
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690549487338875",
    "assessment_id": "2419690550544303494",
    "location_xid": "e849db30-cc06-4e03-ae7d-3f8ff5b9359f",
    "pii": "required",
    "starts_at": "2023-02-09T21:29:47.000-07:00",
    "ends_at": "2023-03-03T18:51:31.000-07:00",
    "state": "active",
    "name": "theorist_authority",
    "display_title": "Dolores minus.",
    "source_type": "unknown",
    "source_external_reference_id": null,
    "access_code": "KTWM",
    "link_url": "UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5NjkwNTQ5NDg3MzM4ODc1",
    "expected_audience_count": null,
    "external_results_url": "http://koepp-kuhlman.io/bambi.green",
    "results_app_url": "UNSET/results",
    "show_results": false,
    "show_call_to_action": true,
    "sms_number": "55683",
    "rangeable_id": null,
    "rangeable_type": null,
    "created_at": "2023-02-21T13:53:11.336-07:00",
    "updated_at": "2023-02-21T13:53:11.489-07:00",
    "deleted_at": null
  }
}

Update with validation errors

Authorization: Firebase JWT

Endpoint

PATCH /api/deployments/:id

Parameters

Name Description Type Enum
deployment[name] The Deployment name string
deployment[access_code] The SMS access code for the Deployment string
deployment[pii] Configure Personally Identifiable Information input string ["required", "optional", "skip"]
deployment[show_results] Whether to show the user their results for the Deployment boolean
deployment[show_call_to_action] Whether to show the user their call to action for the Deployment boolean
deployment[expected_audience_count] The expected number of people that this assessment will be deployed to integer
deployment[starts_at] The timestamp of when the Deployment should start datetime
deployment[ends_at] The timestamp of when the Deployment should end datetime
deployment[external_results_url] A URL that will show a users results for the Deployment string
deployment[rangeable_id] The ID of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string
deployment[rangeable_type] The type of the rangeable that will restrict how a Call To Action is determined for a DeploymentSession string ["Domain", "Scale"]

Request

Route

PATCH /api/deployments/2419690541375554909

Headers

Authorization: Bearer 4cb24a3f-1450-497b-9ce5-b4600126a244
Accept: application/json
Content-Type: application/json

Body

{
  "deployment": {
    "show_results": false,
    "access_code": "&&"
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "access_code": [
        "only allows alphanumeric characters",
        "is too short (minimum is 4 characters)"
      ]
    },
    "details": {
      "access_code": [
        {
          "error": "invalid",
          "value": "&&"
        },
        {
          "error": "too_short",
          "count": 4
        }
      ]
    }
  }
}

Domains

In a given Assessment, a Domain is a container for Scale(s) which are containers for Questions. There are capabilities including scoring, and visualization configuration associated with these containers.

Adds a Domain to an Assessment

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/domains

Parameters

Name Description Type
domain_id required ID of the Domain that will be added to an Assessment integer

Request

Route

POST /api/assessments/2419689973173191747/domains

Headers

Authorization: Bearer 389df8d7-e400-4025-964c-2f7218416c74
Accept: application/json
Content-Type: application/json

Body

{
  "domain_id": 2419689973240300612
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Create a Domain

Authorization: Firebase JWT

Endpoint

POST /api/organizations/:organization_id/domains

Parameters

Name Description Type Enum
domain[name] required Name of the domain. 500 character limit and must be unique to the organization string
domain[description] required Description of the domain. 500 character limit. string
domain[display_name] required Name that should be displayed to users. 500 character limit string
domain[privacy] Indicates whether Domain is private (only usable by the organization), shared with other organizations, or publicly available for use string ["private", "limited_to_organization_ids", "public"]

Request

Route

POST /api/organizations/c79925ff-a030-4310-84ab-3b00cca04b62/domains

Headers

Authorization: Bearer 7c82f396-0a68-4cb1-9eeb-5fa5f8418a31
Accept: application/json
Content-Type: application/json

Body

{
  "domain": {
    "name": "Anna Septic",
    "display_name": "Brandy D. Cantor",
    "description": "Cupiditate non perferendis eum.",
    "privacy": "public"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689945834718226",
    "name": "Anna Septic",
    "display_name": "Brandy D. Cantor",
    "description": "Cupiditate non perferendis eum.",
    "assessment_id": null,
    "display_score_type": "sum_score",
    "preferred_visualization": "bar_chart",
    "table_sort": "desc",
    "scale_count_type": "all_scales",
    "table_row_count": 0,
    "show_bar_chart_labels": true,
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:59.375-07:00",
    "updated_at": "2023-02-21T13:51:59.375-07:00",
    "organization_xid": "c79925ff-a030-4310-84ab-3b00cca04b62",
    "is_editable": false,
    "privacy": "public"
  }
}

Get a Domain

Authorization: Firebase JWT

Endpoint

GET /api/domains/:id

Request

Route

GET /api/domains/2419689932639438844

Headers

Authorization: Bearer 1e813a88-c929-4c22-bae3-a8734c83e605
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689932639438844",
    "name": "Amet possimus numquam optio.",
    "display_name": "Et debitis cum veritatis.",
    "description": "Quia est quidem. Id numquam voluptatem. Est error libero.\nMaxime quo sint. Soluta id reiciendis. Provident sit eveniet.",
    "assessment_id": null,
    "display_score_type": "sum_score",
    "preferred_visualization": "bar_chart",
    "table_sort": "desc",
    "scale_count_type": "all_scales",
    "table_row_count": 0,
    "show_bar_chart_labels": true,
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:57.801-07:00",
    "updated_at": "2023-02-21T13:51:57.801-07:00",
    "organization_xid": null,
    "is_editable": true,
    "privacy": "private"
  }
}

Get a list of Domains associated with an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/domains

Request

Route

GET /api/assessments/2419689966512636983/domains

Headers

Authorization: Bearer b6e365ce-5eb4-42b3-8a4b-e9e4eefcfb7f
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689966546191416",
      "name": "Laudantium ipsam odit molestiae.",
      "display_name": "Fugit nostrum hic ut.",
      "description": "Cumque nihil velit. Minus et blanditiis. Labore asperiores harum.\nEa enim atque. Cumque placeat reprehenderit. Asperiores at qui.",
      "assessment_id": null,
      "display_score_type": "sum_score",
      "preferred_visualization": "bar_chart",
      "table_sort": "desc",
      "scale_count_type": "all_scales",
      "table_row_count": 0,
      "show_bar_chart_labels": true,
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "archived_at": null,
      "created_at": "2023-02-21T13:52:01.845-07:00",
      "updated_at": "2023-02-21T13:52:01.845-07:00",
      "organization_xid": null,
      "is_editable": true,
      "privacy": "private"
    },
    {
      "id": "2419689966604911674",
      "name": "Sunt vel modi ipsum.",
      "display_name": "Est voluptas debitis at.",
      "description": "Non qui aut. Dignissimos occaecati quod. Repudiandae hic error.\nRerum explicabo consequatur. Repellat laudantium dicta. Quasi unde iste.",
      "assessment_id": null,
      "display_score_type": "sum_score",
      "preferred_visualization": "bar_chart",
      "table_sort": "desc",
      "scale_count_type": "all_scales",
      "table_row_count": 0,
      "show_bar_chart_labels": true,
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "archived_at": null,
      "created_at": "2023-02-21T13:52:01.851-07:00",
      "updated_at": "2023-02-21T13:52:01.851-07:00",
      "organization_xid": null,
      "is_editable": true,
      "privacy": "private"
    }
  ]
}

Get a list of Domains available for use by an Organization

Only returns active (non-archived) domains. By default, returns all domains available to my organization.

Endpoint

GET /api/organizations/:organization_id/domains/library

Parameters

Name Description Default Type
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | assessment_id | created_at | description | display_name | display_score_type | id | identifier | longitudinal_label_type | max_mean_score | max_sum_score | min_mean_score | min_sum_score | name | organization_xid | preferred_visualization | privacy | scale_count_type | show_bar_chart_labels | std_dev | table_row_count | table_sort | updated_at]
order Sort order
only_shared Indicates to only return domains that have been shared with this organization or its parent network organizations and NOT domains owned by the organization boolean
q Optional parameter that adds a search criteria to the text field to further filter the returned list of domains string

Request

Route

GET /api/organizations/de04826d-728b-4ed9-b600-8b41366b9757/domains/library?only_shared=true

Headers

Authorization: Bearer bcf9407e-6dbc-44dc-972c-ec41e2b890f9
Accept: application/json
Content-Type: application/json

Query Parameters

only_shared=true

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689951731909659",
      "name": "Quo cupiditate voluptates nesciunt.",
      "display_name": "Maiores ipsa quisquam rem.",
      "description": "Deleniti quas natus. Tempora quae nostrum. Enim dolore sunt.\nNisi eaque voluptatem. Corrupti impedit aut. Repellendus vel amet.",
      "assessment_id": null,
      "display_score_type": "sum_score",
      "preferred_visualization": "bar_chart",
      "table_sort": "desc",
      "scale_count_type": "all_scales",
      "table_row_count": 0,
      "show_bar_chart_labels": true,
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "archived_at": null,
      "created_at": "2023-02-21T13:52:00.078-07:00",
      "updated_at": "2023-02-21T13:52:00.078-07:00",
      "organization_xid": null,
      "is_editable": true,
      "privacy": "private"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Domains that belong to an Organization

Does not return any shared or public domains

Endpoint

GET /api/organizations/:organization_id/domains

Parameters

Name Description Default Type
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | assessment_id | created_at | description | display_name | display_score_type | id | identifier | longitudinal_label_type | max_mean_score | max_sum_score | min_mean_score | min_sum_score | name | organization_xid | preferred_visualization | privacy | scale_count_type | show_bar_chart_labels | std_dev | table_row_count | table_sort | updated_at]
order Sort order
archived Param (boolean) to indicate whether results should return ONLY archived Domains. (Without this param, only active (non-archived) Domains will be returned) boolean
q Optional parameter that adds a search criteria to the name field to further filter the returned list of domains string

Request

Route

GET /api/organizations/1a2c41fa-11ca-4278-bb52-dd5fc7dd0157/domains

Headers

Authorization: Bearer 398199b0-ab49-40ef-9419-ceb94f98f227
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689938704401414",
      "name": "Consequatur dolor quasi in.",
      "display_name": "Doloribus et autem sit.",
      "description": "Et magni nulla. Mollitia ratione voluptates. Ratione distinctio minima.\nDoloribus ut minus. Consequatur quis qui. Aut dolorem atque.",
      "assessment_id": null,
      "display_score_type": "sum_score",
      "preferred_visualization": "bar_chart",
      "table_sort": "desc",
      "scale_count_type": "all_scales",
      "table_row_count": 0,
      "show_bar_chart_labels": true,
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:58.525-07:00",
      "updated_at": "2023-02-21T13:51:58.525-07:00",
      "organization_xid": "1a2c41fa-11ca-4278-bb52-dd5fc7dd0157",
      "is_editable": true,
      "privacy": "private"
    },
    {
      "id": "2419689938737955847",
      "name": "Voluptas aut qui rerum.",
      "display_name": "Repellendus laudantium voluptates nisi.",
      "description": "Harum et repellat. Beatae dolores aut. Rerum sed exercitationem.\nFacere sint odio. Pariatur sunt enim. Enim odit nam.",
      "assessment_id": null,
      "display_score_type": "sum_score",
      "preferred_visualization": "bar_chart",
      "table_sort": "desc",
      "scale_count_type": "all_scales",
      "table_row_count": 0,
      "show_bar_chart_labels": true,
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:58.530-07:00",
      "updated_at": "2023-02-21T13:51:58.530-07:00",
      "organization_xid": "1a2c41fa-11ca-4278-bb52-dd5fc7dd0157",
      "is_editable": true,
      "privacy": "private"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Remove a Domain from an Assessment

Does not remove any of the Domain’s Scales or Items from the Assessment

Endpoint

DELETE /api/assessments/:assessment_id/domains/:domain_id

Request

Route

DELETE /api/assessments/2419689963962500141/domains/2419689964004443182

Headers

Authorization: Bearer a9dec81d-28f7-4d55-b107-68dbae8177fd
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Update a Domain

Authorization: Firebase JWT

Endpoint

PATCH /api/domains/:id

Parameters

Name Description Type
name required Name of the domain. 500 character limit and must be unique to the organization string
description required Description of the domain. 500 character limit. string
display_name required Name that should be displayed to users. 500 character limit string
privacy Privacy setting for the Domain (available options: private, limited_to_organization_ids, public

Request

Route

PATCH /api/domains/2419689957847204901

Headers

Authorization: Bearer 23aa2d5b-ffc8-49b9-9b56-860f8d9f40c8
Accept: application/json
Content-Type: application/json

Body

{
  "domain": {
    "name": "Sarah Doctorinthehouse",
    "display_name": "Al B. Tross",
    "description": "Sapiente aliquid temporibus omnis.",
    "privacy": "public"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689957847204901",
    "name": "Sarah Doctorinthehouse",
    "display_name": "Al B. Tross",
    "description": "Sapiente aliquid temporibus omnis.",
    "assessment_id": null,
    "display_score_type": "sum_score",
    "preferred_visualization": "bar_chart",
    "table_sort": "desc",
    "scale_count_type": "all_scales",
    "table_row_count": 0,
    "show_bar_chart_labels": true,
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "archived_at": null,
    "created_at": "2023-02-21T13:52:00.807-07:00",
    "updated_at": "2023-02-21T13:52:00.835-07:00",
    "organization_xid": null,
    "is_editable": false,
    "privacy": "public"
  }
}

Feature Flags

Enables applications built with Assessments API as a backend to control features on the client or server side (after Assessments Engineering has codified the feature and flag).

Get a list of enabled features for the current User

Authorization: Firebase JWT

Endpoint

GET /api/features

Parameters

Name Description Type Enum
scope The feature name must start with this scope string ["assessments_admin_web", "assessments_web", "assessments_create_web"]

Request

Route

GET /api/features?scope=assessments_admin_web

Headers

Authorization: Bearer 15b4e5d0-6f06-4c32-9795-56b82c5deae2
Accept: application/json
Content-Type: application/json

Query Parameters

scope=assessments_admin_web

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    "assessments_admin_web.fatwazah"
  ]
}

Get a list of fully enabled features using the Application JWT

Authorization: Silicone Application Token

Endpoint

GET /api/features

Parameters

Name Description Type Enum
scope The feature name must start with this scope string ["assessments_admin_web", "assessments_web", "assessments_create_web"]

Request

Route

GET /api/features?scope=assessments_admin_web

Headers

Authorization: Bearer dc10011f4b0ec134adccb191d6997b81
Accept: application/json
Content-Type: application/json

Query Parameters

scope=assessments_admin_web

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    "assessments_admin_web.fatwazah"
  ]
}

Firebase Authentication

Authorization must contain a Bearer token from the Firebase Authentication Service.

Authenticate using Firebase Account Token

Authorization: Firebase JWT

Endpoint

GET /api/users/current

Request

Route

GET /api/users/current

Headers

Authorization: Bearer 8aa6e561-cab8-4eec-9d30-d508244c1623
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "x9i3ijpua3fwax672pebjp7xabx8",
    "user_id": "2419689584814195734",
    "email": "michel.dubuque@smitham-stokes.name",
    "first_name": "Alexa",
    "last_name": "Lastname",
    "organizations": [
      {
        "id": "29b2eaea-d675-4651-b18c-8b3e8ff786e9",
        "name": "Organization 22",
        "vertical": "OTHER",
        "org_is_individual": false
      },
      {
        "id": "eb780f4e-1b57-4ef4-bf3b-e18e91fd71f7",
        "name": "Organization 23",
        "vertical": "SCHOOL",
        "org_is_individual": false
      }
    ],
    "locations": [

    ],
    "permissions": [
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "29b2eaea-d675-4651-b18c-8b3e8ff786e9"
      },
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "eb780f4e-1b57-4ef4-bf3b-e18e91fd71f7"
      }
    ]
  }
}

Invitations

Inviting other users to join an Organization

Accept an Invitation

Authorization: Firebase JWT

Endpoint

PUT /api/invitations/:token/accept

Parameters

Name Description Type
token required The invitation token delivered to the user via email string

Request

Route

PUT /api/invitations/12a951fe08ecb06adfd77ee055ea928a/accept

Headers

Authorization: Bearer 0d161d54-52ae-4e73-a317-3f64a127639d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Create an Invitation

Authorization: Firebase JWT

Endpoint

POST /api/organizations/:organization_id/invitations

Parameters

Name Description Type
invitation[email] required The email of the user to deliver the invitation to string
invitation[first_name] The first name of the user to be invited string
invitation[last_name] The last name of the user to be invited string

Request

Route

POST /api/organizations/2419691004518990892/invitations

Headers

Authorization: Bearer b558b4d4-e038-41de-bf0d-7f866fcbb4d0
Accept: application/json
Content-Type: application/json

Body

{
  "invitation": {
    "email": "dorthy.quitzon@watsica.net",
    "first_name": "Hester",
    "last_name": "Jaskolski",
    "permission_keys": [
      "MANAGE_ORGANIZATION"
    ]
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419691004753871921",
    "email": "dorthy.quitzon@watsica.net",
    "first_name": "Hester",
    "last_name": "Jaskolski",
    "organization_id": "2419691004518990892",
    "permission_keys": [
      "MANAGE_ORGANIZATION"
    ],
    "organization_name": "Organization 410",
    "location_xid": "700b045a-46ab-4fbe-b56d-97920f08fe98",
    "created_at": "2023-02-21T13:54:05.608-07:00",
    "updated_at": "2023-02-21T13:54:05.608-07:00",
    "last_sent_at": "2023-02-21T13:54:05.605-07:00"
  }
}

Delete an Invitation

Requires that the current_user have MANAGE_ORGANIZATION permission for the invitation’s organization

Endpoint

DELETE /api/invitations/:invitation_id

Request

Route

DELETE /api/invitations/2419690995006309400

Headers

Authorization: Bearer 5e454dac-bc24-4382-8753-97e99d7305c1
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Get a list of Pending Invitations for an Organization

Authorization: Firebase JWT

Endpoint

GET /api/organizations/:organization_id/invitations

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[accepted_at | created_at | email | first_name | id | last_name | last_sent_at | organization_id | permission_keys | token_digest | updated_at]
order Sort order

Request

Route

GET /api/organizations/2419691010592343094/invitations

Headers

Authorization: Bearer 8c79ed0b-680e-4ae7-9a0f-5b8107d1a7d1
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 0
    }
  }
}

Get an Invitation

Returns the invitation if it has not been accepted or an error if the invitation is found but already accepted

Endpoint

GET /api/invitations/:token

Request

Route

GET /api/invitations/731ffc9b0d184e8bb6585d6a35507b95

Headers

Authorization: Bearer 731ffc9b0d184e8bb6585d6a35507b95
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419691016716026944",
    "email": "jamie@mcdermott.biz",
    "first_name": null,
    "last_name": null,
    "organization_id": "2419691016514700348",
    "permission_keys": [
      "CREATE_DEPLOYMENT"
    ],
    "organization_name": "Organization 413",
    "location_xid": "04ec4fb3-0b27-4d7b-85c1-13614856bbd8",
    "created_at": "2023-02-21T13:54:07.035-07:00",
    "updated_at": "2023-02-21T13:54:07.035-07:00",
    "last_sent_at": "2023-02-21T13:54:07.024-07:00"
  }
}

Resend an Invitation

Requires that the current_user have MANAGE_ORGANIZATION permission for the invitation’s organization

Endpoint

PATCH /api/invitations/:invitation_id/resend

Request

Route

PATCH /api/invitations/2419690997673886755/resend

Headers

Authorization: Bearer 946060fa-b240-49b0-a4c8-8c3fb9fd9242
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

206

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690997673886755",
    "email": "rochel@hagenes.name",
    "first_name": null,
    "last_name": null,
    "organization_id": "2419690997556446240",
    "permission_keys": [
      "CREATE_DEPLOYMENT"
    ],
    "organization_name": "Organization 407",
    "location_xid": "4ed5f373-ddf4-479c-ba32-eb2b6bdc3237",
    "created_at": "2023-02-21T13:54:04.763-07:00",
    "updated_at": "2023-02-21T13:54:04.790-07:00",
    "last_sent_at": "2023-02-21T13:54:04.784-07:00"
  }
}

Item Responses

An Item Response is the choice (or multiple) out of the choices a user was presented with for a question (Item).

Bulk Create a List of Item Responses

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

POST /api/deployment_sessions/:deployment_session_id/item_responses/bulk

Parameters

Name Description Type Items
item_responses required item responses array {"type"=>"object"}

Request

Route

POST /api/deployment_sessions/2419689514005956477/item_responses/bulk

Headers

Authorization: Bearer 41fdcee7c10276fcd4e1c3d3f9f922d6
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTUxNDAwNTk1NjQ3N3w0NzQ4NmE4Mi1mZWQxLTQ2YWEtYTY2OS1kZTU5NDM1NzE5MjY=
Accept: application/json
Content-Type: application/json

Body

{
  "item_responses": [
    {
      "item_id": "2419689514039510910",
      "item_option_id": "2419689514064676735"
    }
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk create a List of Item Responses for multi-select Items

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

POST /api/deployment_sessions/:deployment_session_id/item_responses/bulk

Parameters

Name Description Type Items
item_responses required item responses array {"type"=>"object"}

Request

Route

POST /api/deployment_sessions/2419689516824528782/item_responses/bulk

Headers

Authorization: Bearer 5153f66900121f4d9e8bdf073452f0f7
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTUxNjgyNDUyODc4Mnw1NjUwYzQ4YS1kNDJiLTQ5NmEtYmYwOS03N2NjZDAzNTc1MTc=
Accept: application/json
Content-Type: application/json

Body

{
  "item_responses": [
    {
      "item_id": "2419689516858083215",
      "item_option_id": "2419689516891637648"
    },
    {
      "item_id": "2419689516858083215",
      "item_option_id": "2419689516925192081"
    }
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk create a List of Item Responses for short answer Items

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

POST /api/deployment_sessions/:deployment_session_id/item_responses/bulk

Parameters

Name Description Type Items
item_responses required item responses array {"type"=>"object"}

Request

Route

POST /api/deployment_sessions/2419689519617935264/item_responses/bulk

Headers

Authorization: Bearer 0f2f957c6d86c853f20baa717ad34b46
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTUxOTYxNzkzNTI2NHw0MzAyMDk1NS1hNGVhLTQ3YzAtOWNiOC1jYjA5ZWUxZTc4YjQ=
Accept: application/json
Content-Type: application/json

Body

{
  "item_responses": [
    {
      "item_id": "2419689519693432737",
      "text": "Sample text response for short answer item"
    }
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Destroy an Item Response

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

DELETE /api/item_responses/:id

Request

Route

DELETE /api/item_responses/2419689505114031959

Headers

Authorization: Bearer bb32e8a7e7400ee57312dc438124c60a
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTUwNDY4NjIxMjkzOXwzNzYwMTY2Ni00ZjkwLTRiY2MtOGI5NC04Mjc3YWZiNzhhOTc=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Destroy with validation errors

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

DELETE /api/item_responses/:id

Request

Route

DELETE /api/item_responses/2419689498562529086

Headers

Authorization: Bearer f628d63ed204eec59f62e1bc56c23f01
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTQ5ODA5Mjc2NzAyNnxiYWI1YjFkYi03YTdlLTRmMzAtOTM0Yy03MjUxOWZlNWIwMzQ=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
    },
    "details": {
    }
  }
}

Get a list of Item Responses for a Deployment

How all of the respondents answered on a given Assessment in a Deployment.

Endpoint

GET /api/deployments/:deployment_id/item_responses

Parameters

Name Description Default
item_id Filter by item_id. ex. ?item_id=1 for single value For multiple values use array syntax (?item_id[]=1&item_id[]=2) OR send as comma-separated values (?item_id=1,2,3)
item_option_id Filter by item_option_id. ex. ?item_option_id=1 for single value For multiple values use array syntax (?item_option_id[]=1&item_option_id[]=2) OR send as comma-separated values (?item_option_id=1,2,3)
source_type Filter by source_type. ex. ?source_type=1 for single value For multiple values use array syntax (?source_type[]=1&source_type[]=2) OR send as comma-separated values (?source_type=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[content_session_id | created_at | deployment_session_id | id | item_id | item_option_id | legacy_item_response_id | response_count | source_type | text | updated_at]
order Sort order

Request

Route

GET /api/deployments/2419689480149534431/item_responses

Headers

Authorization: Bearer 503db31a-c751-49d8-8e1e-1575bf1b5eac
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689480426358497",
      "item_id": "2419689479738492631",
      "item_option_id": "2419689479847544536",
      "deployment_session_id": "2419689480283752160",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.893-07:00",
      "updated_at": "2023-02-21T13:51:03.893-07:00",
      "text": null
    },
    {
      "id": "2419689480493467362",
      "item_id": "2419689479981762267",
      "item_option_id": "2419689480023705308",
      "deployment_session_id": "2419689480283752160",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.901-07:00",
      "updated_at": "2023-02-21T13:51:03.901-07:00",
      "text": null
    },
    {
      "id": "2419689480610907876",
      "item_id": "2419689479738492631",
      "item_option_id": "2419689479847544536",
      "deployment_session_id": "2419689480560576227",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.915-07:00",
      "updated_at": "2023-02-21T13:51:03.915-07:00",
      "text": null
    },
    {
      "id": "2419689480652850917",
      "item_id": "2419689479981762267",
      "item_option_id": "2419689480023705308",
      "deployment_session_id": "2419689480560576227",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.920-07:00",
      "updated_at": "2023-02-21T13:51:03.920-07:00",
      "text": null
    },
    {
      "id": "2419689480728348391",
      "item_id": "2419689479738492631",
      "item_option_id": "2419689479847544536",
      "deployment_session_id": "2419689480686405350",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.930-07:00",
      "updated_at": "2023-02-21T13:51:03.930-07:00",
      "text": null
    },
    {
      "id": "2419689480753514216",
      "item_id": "2419689479981762267",
      "item_option_id": "2419689480023705308",
      "deployment_session_id": "2419689480686405350",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.933-07:00",
      "updated_at": "2023-02-21T13:51:03.933-07:00",
      "text": null
    },
    {
      "id": "2419689480812234474",
      "item_id": "2419689479738492631",
      "item_option_id": "2419689479847544536",
      "deployment_session_id": "2419689480778680041",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.940-07:00",
      "updated_at": "2023-02-21T13:51:03.940-07:00",
      "text": null
    },
    {
      "id": "2419689480837400299",
      "item_id": "2419689479981762267",
      "item_option_id": "2419689480023705308",
      "deployment_session_id": "2419689480778680041",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.943-07:00",
      "updated_at": "2023-02-21T13:51:03.943-07:00",
      "text": null
    },
    {
      "id": "2419689480896120557",
      "item_id": "2419689479738492631",
      "item_option_id": "2419689479847544536",
      "deployment_session_id": "2419689480862566124",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.950-07:00",
      "updated_at": "2023-02-21T13:51:03.950-07:00",
      "text": null
    },
    {
      "id": "2419689480921286382",
      "item_id": "2419689479981762267",
      "item_option_id": "2419689480023705308",
      "deployment_session_id": "2419689480862566124",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:03.953-07:00",
      "updated_at": "2023-02-21T13:51:03.953-07:00",
      "text": null
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 10
    }
  }
}

Get a list of Item Responses for a Deployment Session

How 1 particular end-user responded to the Assessment.

Endpoint

GET /api/deployment_sessions/:deployment_session_id/item_responses

Parameters

Name Description Default
item_id Filter by item_id. ex. ?item_id=1 for single value For multiple values use array syntax (?item_id[]=1&item_id[]=2) OR send as comma-separated values (?item_id=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[content_session_id | created_at | deployment_session_id | id | item_id | item_option_id | legacy_item_response_id | response_count | source_type | text | updated_at]
order Sort order

Request

Route

GET /api/deployment_sessions/2419689507798386532/item_responses

Headers

Authorization: Bearer a648aaab7226270d3d44751999086b4e
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTUwNzc5ODM4NjUzMnw4MzE1YzI1ZS01MjBiLTRiMWUtYTY1My1jODRiYzQ0NDlhNTg=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689507915827048",
      "item_id": "2419689507831940965",
      "item_option_id": "2419689507899049831",
      "deployment_session_id": "2419689507798386532",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:07.171-07:00",
      "updated_at": "2023-02-21T13:51:07.171-07:00",
      "text": null
    },
    {
      "id": "2419689508008101740",
      "item_id": "2419689507949381481",
      "item_option_id": "2419689507991324523",
      "deployment_session_id": "2419689507798386532",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:07.182-07:00",
      "updated_at": "2023-02-21T13:51:07.182-07:00",
      "text": null
    },
    {
      "id": "2419689508133930864",
      "item_id": "2419689508041656173",
      "item_option_id": "2419689508117153647",
      "deployment_session_id": "2419689507798386532",
      "source_type": "default",
      "created_at": "2023-02-21T13:51:07.197-07:00",
      "updated_at": "2023-02-21T13:51:07.197-07:00",
      "text": null
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 3
    }
  }
}

Get a list of Item Responses for a Deployment when not enough data

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/item_responses

Parameters

Name Description Default
item_id Filter by item_id. ex. ?item_id=1 for single value For multiple values use array syntax (?item_id[]=1&item_id[]=2) OR send as comma-separated values (?item_id=1,2,3)
item_option_id Filter by item_option_id. ex. ?item_option_id=1 for single value For multiple values use array syntax (?item_option_id[]=1&item_option_id[]=2) OR send as comma-separated values (?item_option_id=1,2,3)
source_type Filter by source_type. ex. ?source_type=1 for single value For multiple values use array syntax (?source_type[]=1&source_type[]=2) OR send as comma-separated values (?source_type=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[content_session_id | created_at | deployment_session_id | id | item_id | item_option_id | legacy_item_response_id | response_count | source_type | text | updated_at]
order Sort order

Request

Route

GET /api/deployments/2419689488152266495/item_responses

Headers

Authorization: Bearer 1c7652d3-b80f-4e46-b40a-97453f62d1e4
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

206

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [

  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 0
    }
  }
}

Get an Item Response

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/item_responses/:id

Request

Route

GET /api/item_responses/2419689491994248997

Headers

Authorization: Bearer d2a2049e355892125964510f533a4f94
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTQ5MTU3NDgxODU4NXxlYjkyZTM4NS1iODJiLTQzOGMtYjI5My0zNDM2MWE4MGE3Nzk=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689491994248997",
    "item_id": "2419689491893585698",
    "item_option_id": "2419689491977471780",
    "deployment_session_id": "2419689491574818585",
    "source_type": "default",
    "created_at": "2023-02-21T13:51:05.273-07:00",
    "updated_at": "2023-02-21T13:51:05.273-07:00",
    "text": null
  }
}

ItemOptions

An Item Option is one of the choices that an end-user may select when responding to a question (an Item object) on an Assesment.

Bulk update Item Options for an Item

Requires that the user have CREATE_ASSESSMENT permission for the organization that owns the associated Item.

Endpoint

POST /api/items/:item_id/item_options/bulk

Parameters

Name Description Type Items
item_options required Array of objects that include :text, :value, and :position keys for each Item Option to be created array {"type"=>"object"}

Request

Route

POST /api/items/2419689984841745504/item_options/bulk

Headers

Authorization: Bearer 940d232e-eebc-4d8e-807f-96cfda263a55
Accept: application/json
Content-Type: application/json

Body

{
  "item": {
    "item_options": [
      {
        "text": "Option 1",
        "position": 1,
        "value": 1.0
      },
      {
        "text": "Option 2",
        "position": 2,
        "value": 2.0
      }
    ]
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Create an Item Option for an Item

Authorization: Firebase JWT

Endpoint

POST /api/items/:item_id/item_options

Parameters

Name Description Type
text Text for Item Option. Required for multiple_choice items. Required for likert scale items if hide_scale_numbers is true. string
value Numeric (float) value for the Item Option. Required for multiple choice and likert items. float
position Position of the Item Option integer

Request

Route

POST /api/items/2419689978399294550/item_options

Headers

Authorization: Bearer 694044f9-e92d-44a8-a972-618cb1f3f828
Accept: application/json
Content-Type: application/json

Body

{
  "item_option": {
    "text": "Option 1",
    "position": 1,
    "value": 1.0
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689978768393305",
    "item_id": "2419689978399294550",
    "value": "1.0",
    "text": "Option 1",
    "position": 1,
    "created_at": "2023-02-21T13:52:03.299-07:00",
    "updated_at": "2023-02-21T13:52:03.302-07:00"
  }
}

Delete an Item Option

Requires that the user have CREATE_ASSESSMENT permission for the organization that owns the associated Item.

Endpoint

DELETE /api/item_options/:id

Request

Route

DELETE /api/item_options/2419689975740105806

Headers

Authorization: Bearer 29f1c439-c3be-4ca1-bf9f-f5878b00500f
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Get a list of ItemOptions for an Item

Authorization: Firebase JWT

Endpoint

GET /api/items/:item_id/item_options

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[correct | created_at | id | item_id | legacy_answer_id | position | text | updated_at | value]
order Sort order

Request

Route

GET /api/items/2419689994044048500/item_options

Headers

Authorization: Bearer 503b99f8-ba46-43ae-9038-24caefe71bc5
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689994077602933",
      "item_id": "2419689994044048500",
      "value": "29.0",
      "text": "Odyssey",
      "position": 1,
      "created_at": "2023-02-21T13:52:05.122-07:00",
      "updated_at": "2023-02-21T13:52:05.122-07:00"
    },
    {
      "id": "2419689994119545974",
      "item_id": "2419689994044048500",
      "value": "67.0",
      "text": "Mustang",
      "position": 2,
      "created_at": "2023-02-21T13:52:05.125-07:00",
      "updated_at": "2023-02-21T13:52:05.125-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Update an Item Option

An Item Option can only be updated under the following conditions: * The parent Item must be in an editable state (privacy setting is ‘private’ and not used in any public higher-order objects) * When the parent Item is a likert scale and has Item responses: only text and value attributes can be updated

Endpoint

PATCH /api/item_options/:id

Parameters

Name Description Type
item_option[text] Text for the item option string
item_option[position] Position of the item option integer
item_option[value] Value for the item option float

Request

Route

PATCH /api/item_options/2419689987853255788

Headers

Authorization: Bearer d6f64ded-2dc5-4201-8ce2-a75acb908451
Accept: application/json
Content-Type: application/json

Body

{
  "item_option": {
    "text": "Updated text",
    "position": 3,
    "value": 3.0
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689987853255788",
    "item_id": "2419689987828089963",
    "value": "3.0",
    "text": "Updated text",
    "position": 3,
    "created_at": "2023-02-21T13:52:04.381-07:00",
    "updated_at": "2023-02-21T13:52:04.421-07:00"
  }
}

Items

An Item is the question portion of a question and its possible answers. An AssessmentItem is the association between an Assessment and an Item. An Item can be associated with multiple Assessments as well as belonging to a Core Organization.

Add an Item to a Scale

Authorization: Firebase JWT

Endpoint

POST /api/scales/:scale_id/items

Parameters

Name Description Type
item_id required Id of the Item to be added to this Scale integer

Request

Route

POST /api/scales/2419690418348229681/items

Headers

Authorization: Bearer 7bedd064-6d9f-455a-a8a9-7d377ebebf45
Accept: application/json
Content-Type: application/json

Body

{
  "item_id": 2419690418373395506
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Add an Item to an Assessment

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/assessment_items

Parameters

Name Description Type
item_id required Id of the Item to be added to this Assessment integer
position Position that the Item should be added to the Assessment in. Existing AssessmentItems will be reordered /n after the newly created AssessmentItem if there was already an AssessmentItem occupying the position. /n Without this parameter, the new AssessmentItem will be added to the end of the Assessment's AssessmentItems integer
required Whether the Item should be required on the Assessment. Without this parameter, the new AssessmentItem's /n required attribute will be set to true. boolean

Request

Route

POST /api/assessments/2419690405253612553/assessment_items

Headers

Authorization: Bearer 1a42df15-37ab-4c51-95e4-fd902fccfc46
Accept: application/json
Content-Type: application/json

Body

{
  "item_id": 2419690405287166986
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Clone an Item

Creates a clone of an existing Item with the following aspects: * The cloned item’s text attribute is prefixed with ‘[Clone]’ * The cloned item’s privacy setting is ‘private’ * Creates clones of the original Item’s options and adds them to the cloned Item * Tags the cloned Item with the same tags as the original

Endpoint

POST /api/items/:id/clone

Request

Route

POST /api/items/2419690335259068286/clone

Headers

Authorization: Bearer c530051f-edc2-4534-8a7e-08213d6409a7
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690335493949312",
    "item_type": "likert_scale",
    "text": "[Clone] What is an item?",
    "is_nominal": false,
    "privacy": "private",
    "hide_scale_numbers": false,
    "display_descending": false,
    "organization_xid": "71015902-58b7-422b-9755-863adecc6957",
    "created_at": "2023-02-21T13:52:45.821-07:00",
    "updated_at": "2023-02-21T13:52:45.832-07:00",
    "archived_at": null,
    "zero_based_positioning": false,
    "has_item_responses": false,
    "is_editable": true
  }
}

Create an Item that belongs to a Gloo Organization

Authorization: Firebase JWT

Endpoint

POST /api/organizations/:organization_id/items

Parameters

Name Description Type Enum
item[text] Item text (Required for multiple choice questions) string
item[item_type] Type of Item string ["instruction", "multiple_choice", "likert_scale", "multiple_select", "short_answer"]
item[privacy] Indicates whether Item is private (only usable by the organization), shared with other organizations, or publicly available for use string ["private", "limited_to_organization_ids", "public"]
item[hide_scale_numbers] Boolean value to indicate whether to hide the scale numbers from labels (applies only to Likert Scale Items) boolean
item[display_descending] Boolean value to indicate whether Item Options should be displayed in reverse order (applies only to likert scale Items) boolean
item[zero_based_positioning] Boolean value to indicate whether Item Options for this Item should be displayed with position starting at 0 (zero) boolean
item[item_options_attributes] Array of hashes to create options for Item. Each option hash includes position, value, and text keys and values. Multiple choice questions require all three. Short answer and Instruction questions DO NOT allow this parameter array

Request

Route

POST /api/organizations/a578aad7-a86d-4936-a24e-9775f382ba9f/items

Headers

Authorization: Bearer ed1767bc-34ad-4953-90ef-9d379f94c6dc
Accept: application/json
Content-Type: application/json

Body

{
  "item": {
    "text": "Officiis qui quo exercitationem?",
    "item_type": "multiple_choice",
    "privacy": "public",
    "item_options_attributes": [
      {
        "text": "Iusto minus aut aspernatur.",
        "position": 1,
        "value": 1.0
      },
      {
        "text": "Et sunt voluptatem nihil.",
        "position": 2,
        "value": 2.0
      }
    ]
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690350257899413",
    "item_type": "multiple_choice",
    "text": "Officiis qui quo exercitationem?",
    "is_nominal": false,
    "privacy": "public",
    "hide_scale_numbers": false,
    "display_descending": false,
    "organization_xid": "a578aad7-a86d-4936-a24e-9775f382ba9f",
    "created_at": "2023-02-21T13:52:47.582-07:00",
    "updated_at": "2023-02-21T13:52:47.582-07:00",
    "archived_at": null,
    "zero_based_positioning": false,
    "has_item_responses": false,
    "is_editable": false
  }
}

Get Items that belong to a Scale

Authorization: Firebase JWT

Endpoint

GET /api/scales/:scale_id/items

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | created_at | display_descending | hide_scale_numbers | id | identifier | is_nominal | item_type | legacy_question_id | location_xid | organization_xid | privacy | show_randomized | text | updated_at | user_id | zero_based_positioning] created_at
order Sort order asc

Request

Route

GET /api/scales/2419690389491419101/items

Headers

Authorization: Bearer 1a4a048e-7294-4d93-acd8-5648d146407d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690389516584926",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:52.263-07:00",
      "updated_at": "2023-02-21T13:52:52.263-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    },
    {
      "id": "2419690389541750751",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:52.266-07:00",
      "updated_at": "2023-02-21T13:52:52.266-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get a a count of the number of Item Responses for an Item

Authorization: Firebase JWT

Endpoint

GET /api/items/:item_id/item_responses/totals

Request

Route

GET /api/items/2419690398182017012/item_responses/totals

Headers

Authorization: Bearer 8fb8f0a7-4dbd-4673-afcc-b2767ceae08b
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "item_response_count": 1
  }
}

Get a list of Assessment Items for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/assessment_items

Parameters

Name Description Default
only_questions Filter by only_questions. ex. ?only_questions=1 for single value For multiple values use array syntax (?only_questions[]=1&only_questions[]=2) OR send as comma-separated values (?only_questions=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[assessment_id | created_at | id | item_id | position | profile_attribute | required | updated_at] position
order Sort order asc

Request

Route

GET /api/deployments/2419690369174210493/assessment_items

Headers

Authorization: Bearer 13b1c5f8-82da-41f7-9c8a-1d3cea549430
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690368947718072",
      "assessment_id": "2419690368662505396",
      "item_id": "2419690368687671221",
      "position": 1,
      "required": true,
      "created_at": "2023-02-21T13:52:49.803-07:00",
      "updated_at": "2023-02-21T13:52:49.803-07:00"
    },
    {
      "id": "2419690369090324412",
      "assessment_id": "2419690368662505396",
      "item_id": "2419690368989661113",
      "position": 2,
      "required": true,
      "created_at": "2023-02-21T13:52:49.828-07:00",
      "updated_at": "2023-02-21T13:52:49.828-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get a list of Assessment Items for an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/assessment_items

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[assessment_id | created_at | id | item_id | position | profile_attribute | required | updated_at] position
order Sort order asc

Request

Route

GET /api/assessments/2419690411863835679/assessment_items

Headers

Authorization: Bearer e86f0c45-90a9-459e-83dd-b22ef872f081
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690412107105315",
      "assessment_id": "2419690411863835679",
      "item_id": "2419690411897390112",
      "position": 1,
      "required": true,
      "created_at": "2023-02-21T13:52:54.955-07:00",
      "updated_at": "2023-02-21T13:52:54.955-07:00"
    },
    {
      "id": "2419690412207768615",
      "assessment_id": "2419690411863835679",
      "item_id": "2419690412123882532",
      "position": 2,
      "required": true,
      "created_at": "2023-02-21T13:52:54.968-07:00",
      "updated_at": "2023-02-21T13:52:54.968-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get a list of Items available for use by an Organization

Only returns active (non-archived) items. By default, returns all items available to my organization.

Endpoint

GET /api/organizations/:organization_id/items/library

Parameters

Name Description Default Type
item_type Filter by item_type. ex. ?item_type=1 for single value For multiple values use array syntax (?item_type[]=1&item_type[]=2) OR send as comma-separated values (?item_type=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | created_at | display_descending | hide_scale_numbers | id | identifier | is_nominal | item_type | legacy_question_id | location_xid | organization_xid | privacy | show_randomized | text | updated_at | user_id | zero_based_positioning]
order Sort order
only_shared Indicates to only return items that have been shared with this organization or its parent network organizations and NOT items owned by the organization boolean
q Optional parameter that adds a search criteria to the text field to further filter the returned list of items string

Request

Route

GET /api/organizations/3bd9d1cf-c5b7-49de-846a-3b0ef87a6d9d/items/library?only_shared=true

Headers

Authorization: Bearer 4c8251d7-6a46-4d46-a296-ef901bf31bcc
Accept: application/json
Content-Type: application/json

Query Parameters

only_shared=true

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690375482443719",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:50.589-07:00",
      "updated_at": "2023-02-21T13:52:50.589-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Items by ID

Authorization: Firebase JWT

Endpoint

GET /api/items/find_all

Parameters

Name Description Type Items
ids required A list of Items using ids[]= syntax, or a comma separated list od IDs array {"type"=>"string"}

Request

Route

GET /api/items/find_all?ids[]=2419690356163479454&ids[]=2419690356180256671&ids[]=2419690356205422496

Headers

Authorization: Bearer 0c89edbb-ab51-478d-9aa3-3c25ab5f4de9
Accept: application/json
Content-Type: application/json

Query Parameters

ids=["2419690356163479454", "2419690356180256671", "2419690356205422496"]

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690356163479454",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:48.287-07:00",
      "updated_at": "2023-02-21T13:52:48.287-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    },
    {
      "id": "2419690356180256671",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:48.290-07:00",
      "updated_at": "2023-02-21T13:52:48.290-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    },
    {
      "id": "2419690356205422496",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": null,
      "created_at": "2023-02-21T13:52:48.292-07:00",
      "updated_at": "2023-02-21T13:52:48.292-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    }
  ]
}

Get a list of Items that belong to an Organization

Does not return any shared or public items

Endpoint

GET /api/organizations/:organization_id/items

Parameters

Name Description Default Type
item_type Filter by item_type. ex. ?item_type=1 for single value For multiple values use array syntax (?item_type[]=1&item_type[]=2) OR send as comma-separated values (?item_type=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | created_at | display_descending | hide_scale_numbers | id | identifier | is_nominal | item_type | legacy_question_id | location_xid | organization_xid | privacy | show_randomized | text | updated_at | user_id | zero_based_positioning]
order Sort order
archived Param (boolean) to indicate whether results should return ONLY archived Items. (Without this param, only active (non-archived) Items will be returned) boolean
q Optional parameter that adds a search criteria to the text field to further filter the returned list of items string

Request

Route

GET /api/organizations/d8a9f3f7-a97b-471e-aafa-57465647a36b/items

Headers

Authorization: Bearer 4d981810-93e1-4d0e-9229-b1bdf5bfd77f
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690342984976265",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": "d8a9f3f7-a97b-471e-aafa-57465647a36b",
      "created_at": "2023-02-21T13:52:46.716-07:00",
      "updated_at": "2023-02-21T13:52:46.716-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    },
    {
      "id": "2419690343010142090",
      "item_type": "likert_scale",
      "text": "What is an item?",
      "is_nominal": false,
      "privacy": "private",
      "hide_scale_numbers": false,
      "display_descending": false,
      "organization_xid": "d8a9f3f7-a97b-471e-aafa-57465647a36b",
      "created_at": "2023-02-21T13:52:46.720-07:00",
      "updated_at": "2023-02-21T13:52:46.720-07:00",
      "archived_at": null,
      "zero_based_positioning": false,
      "has_item_responses": false,
      "is_editable": true
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get an Assessment Item

Authorization: Firebase JWT

Endpoint

GET /api/assessment_items/:id

Request

Route

GET /api/assessment_items/2419690362463324076

Headers

Authorization: Bearer 77362c62-3b79-44ba-a65a-695dee596857
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690362463324076",
    "assessment_id": "2419690362211665832",
    "item_id": "2419690362245220265",
    "position": 1,
    "required": true,
    "created_at": "2023-02-21T13:52:49.037-07:00",
    "updated_at": "2023-02-21T13:52:49.037-07:00"
  }
}

Get an Item

Authorization: Firebase JWT

Endpoint

GET /api/items/:id

Request

Route

GET /api/items/2419690328548181878

Headers

Authorization: Bearer e152edbf-14eb-4997-98f5-4276d2c7048f
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690328548181878",
    "item_type": "likert_scale",
    "text": "What is an item?",
    "is_nominal": false,
    "privacy": "private",
    "hide_scale_numbers": false,
    "display_descending": false,
    "organization_xid": null,
    "created_at": "2023-02-21T13:52:44.995-07:00",
    "updated_at": "2023-02-21T13:52:44.995-07:00",
    "archived_at": null,
    "zero_based_positioning": false,
    "has_item_responses": false,
    "is_editable": true
  }
}

Get an Item Option

Authorization: Firebase JWT

Endpoint

GET /api/item_options/:id

Request

Route

GET /api/item_options/2419690427684750406

Headers

Authorization: Bearer c2a16d66-cd8b-4e83-890e-08471fe944f9
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690427684750406",
    "item_id": "2419690427609252933",
    "value": "10.0",
    "text": "MKX",
    "position": 1,
    "created_at": "2023-02-21T13:52:56.808-07:00",
    "updated_at": "2023-02-21T13:52:56.808-07:00"
  }
}

Get an Item Scale

Authorization: Firebase JWT

Endpoint

GET /api/item_scales/:id

Request

Route

GET /api/item_scales/2419690421577843773

Headers

Authorization: Bearer 27bf68b5-6b46-4dca-89eb-4db3ab834af0
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690421577843773",
    "scale_id": "2419690421493957692",
    "item_id": "2419690421410071611",
    "weight": "5.0",
    "created_at": "2023-02-21T13:52:56.085-07:00",
    "updated_at": "2023-02-21T13:52:56.085-07:00"
  }
}

Remove an Item from a Scale

Scale must be in an editable state (ie., unused by other organizations)

Endpoint

DELETE /api/scales/:scale_id/items/:item_id

Request

Route

DELETE /api/scales/2419690408474838035/items/2419690408533558293

Headers

Authorization: Bearer 41fa74dd-9888-4380-9302-7ae8dfa0112b
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Remove an Item from an Assessment

Assessment must be Private

Endpoint

DELETE /api/assessment_items/:id

Request

Route

DELETE /api/assessment_items/2419690441811166302

Headers

Authorization: Bearer ba1bdb4c-64d4-4177-8600-df8d2223a3fc
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Update an AssessmentItem

Allows the user to update the required and position attributes of the AssessmentItem within the following guidelines: * The AssessmentItem cannot be updated if the item has been added to a scale associated with the assessment * If the required attribute is included in the params, the AssessmentItem can only be updated if the assessment is private * The position attribute can always be updated, regardless of the assessment’s privacy setting

Endpoint

PATCH /api/assessment_items/:id

Parameters

Name Description Type
required Whether this is a required item on the assessment boolean
position Position that the Item should be added to the Assessment in. Existing AssessmentItems will be reordered /n after the newly created AssessmentItem if there was already an AssessmentItem occupying the position. /n Without this parameter, the new AssessmentItem will be added to the end of the Assessment's AssessmentItems integer

Request

Route

PATCH /api/assessment_items/2419690435024782418

Headers

Authorization: Bearer 8fe20148-def9-4c1f-8efa-e718db081f7d
Accept: application/json
Content-Type: application/json

Body

{
  "assessment_item": {
    "required": true,
    "position": 3
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690435024782418",
    "assessment_id": "2419690434731181134",
    "item_id": "2419690434781512783",
    "position": 3,
    "required": true,
    "created_at": "2023-02-21T13:52:57.686-07:00",
    "updated_at": "2023-02-21T13:52:57.737-07:00"
  }
}

Update an Item

An Item can only be updated if the following conditions are met: * Item has privacy setting of ‘private’ * Item has not been used in any public higher-order objects (Scale, Domain, Assessment)

Endpoint

PATCH /api/items/:id

Parameters

Name Description Type Enum
item[text] Item text (Required for multiple choice questions) string
item[privacy] Indicates whether Item is private (only usable by the organization), shared with other organizations, or publicly available for use string ["private", "limited_to_organization_ids", "public"]
item[hide_scale_numbers] Boolean value to indicate whether to hide the scale numbers from labels (applies only to Likert Scale Items) boolean
item[display_descending] Boolean value to indicate whether Item Options should be displayed in reverse order (applies only to likert scale Items) boolean
item[zero_based_positioning] Boolean value to indicate whether Item Options for this Item should be displayed with position starting at 0 (zero) boolean
item[item_options_attributes] Array of hashes to create or update Item Options for the Item. Only editable if the Item does not yet have any Item Responses. Each option hash includes :position, :value, and :text keys and values. To update an existing Item Option, pass in an :id key and value in this hash. To destroy an existing Item Option, pass in and :id key and value and set :_destroy to true. Multiple choice questions require all three. Does not pertain to Short Answer or Instruction question types array

Request

Route

PATCH /api/items/2419690382797309907

Headers

Authorization: Bearer fd0d109b-40ff-4fb2-ba56-0ae20283f737
Accept: application/json
Content-Type: application/json

Body

{
  "item": {
    "text": "Est cumque placeat nemo?",
    "privacy": "public",
    "item_options_attributes": [
      {
        "text": "Dignissimos nisi et et.",
        "position": 1,
        "value": 1.0
      },
      {
        "text": "Delectus eaque sunt natus.",
        "position": 2,
        "value": 2.0
      }
    ]
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690382797309907",
    "item_type": "likert_scale",
    "text": "Est cumque placeat nemo?",
    "is_nominal": false,
    "privacy": "public",
    "hide_scale_numbers": false,
    "display_descending": false,
    "organization_xid": "1cc82644-b5b8-4edf-88fd-15c7b16d8cf5",
    "created_at": "2023-02-21T13:52:51.459-07:00",
    "updated_at": "2023-02-21T13:52:51.507-07:00",
    "archived_at": null,
    "zero_based_positioning": false,
    "has_item_responses": false,
    "is_editable": false
  }
}

Locations

Locations are a legacy concept from the Gloo Organization service, which is slated to be deprecated. An organization can have many locations, but in most cases, it has only one.

Create a Location for an Organization

Organizations that were created for an individual user can not add locations

Endpoint

POST /api/organizations/:organization_id/locations

Parameters

Name Description Type
location[name] Name of the Location string
location[address_attributes][street] Street address of Location string
location[address_attributes][city] City of Location string
location[address_attributes][state] State of Location string
location[address_attributes][postal_code] Postal code of Location string

Request

Route

POST /api/organizations/6c69299a-dba7-4069-b354-1c485f045c3e/locations

Headers

Authorization: Bearer 30004a51-5906-47c8-ac1c-811ee87208e4
Accept: application/json
Content-Type: application/json

Body

{
  "location": {
    "name": "Ryan, Grant and Kuhlman",
    "address_attributes": {
      "street": "91929 Donnelly Overpass",
      "city": "Runolfsdottirport",
      "state": "UT",
      "postal_code": "03238"
    }
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "3ef70944-681c-4a06-a287-7911d9449e3a",
    "name": "Ryan, Grant and Kuhlman",
    "organization_xid": "6c69299a-dba7-4069-b354-1c485f045c3e",
    "street": "91929 Donnelly Overpass",
    "city": "Runolfsdottirport",
    "state": "UT",
    "postal_code": "03238"
  }
}

Get a Location

Authorization: Firebase JWT

Endpoint

GET /api/locations/:id

Request

Route

GET /api/locations/3a512d4d-634d-45fa-a8f4-0b7b83c4c62c

Headers

Authorization: Bearer 2b94e4d6-ab13-44d0-8751-037fc71c9091
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "3a512d4d-634d-45fa-a8f4-0b7b83c4c62c",
    "name": "Location 7",
    "organization_xid": "ce18f2f8-7548-40d5-9d17-ac9d6273a336",
    "street": null,
    "city": null,
    "state": null,
    "postal_code": null
  }
}

Update a Location

A location can only be updated by a User with MANAGE_LOCATION permission for the location or MANAGE_ORGANIZATION permission for the location’s parent organization.

Endpoint

PATCH /api/locations/:id

Parameters

Name Description Type
location[name] Name of the location string
location[address_attributes] Hash to update the location's address. Includes street, city, state, and postal_code keys and values hash

Request

Route

PATCH /api/locations/b2d46fc2-1c78-4abb-ac03-b500c51034d7

Headers

Authorization: Bearer a4be0b7d-9b23-4270-a949-e00e9a4c2eb7
Accept: application/json
Content-Type: application/json

Body

{
  "location": {
    "name": "Updated Name",
    "address_attributes": {
      "street": "123 New Street",
      "city": "New City",
      "state": "California",
      "postal_code": "12345"
    }
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "b2d46fc2-1c78-4abb-ac03-b500c51034d7",
    "name": "Updated Name",
    "organization_xid": "289d6cd4-0f49-4ec9-ad39-91ba8b3ee529",
    "street": "123 New Street",
    "city": "New City",
    "state": "California",
    "postal_code": "12345"
  }
}

Organization Permissions

Granting users membership and authorization within an Organization

Get a User's Permissions for an Organization

Requires that the current_user have MANAGE_ORGANIZATION permission for the organization that user’s permissions are being requested for

Endpoint

GET /api/organizations/:organization_id/users/:user_id/permissions

Request

Route

GET /api/organizations/2419689799378011746/users/2419689799344457313/permissions

Headers

Authorization: Bearer d9919dd7-a5db-421e-bb9a-8199a7e875b3
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689799185073756",
      "key": "CREATE_DEPLOYMENT",
      "name": "Create Deployment",
      "created_at": "2023-02-21T13:51:41.893-07:00",
      "updated_at": "2023-02-21T13:51:41.893-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Manage a user's permissions within an organization.

Requires that the current_user have MANAGE_ORGANIZATION permission for the organization

Endpoint

PUT /api/organizations/:organization_id/users/:user_id/permissions

Parameters

Name Description Type
user[permission_keys] required Array of Permission Keys to associate with the Organization User. Passing an empty array will delete all of the user's permissions for the organization. array

Request

Route

PUT /api/organizations/2419689796618159702/users/2419689796693657176/permissions

Headers

Authorization: Bearer d8125f31-4214-40dc-8572-ef56733744c9
Accept: application/json
Content-Type: application/json

Body

{
  "user": {
    "permission_keys": [
      "MANAGE_ORGANIZATION"
    ]
  }
}

Response

Simulated Response

Status

204

Organizations

Creates a New Organization

Authorization: Firebase JWT

Endpoint

POST /api/organizations

Parameters

Name Description Type Enum
organization[name] Name of the organization string
organization[vertical] Vertical of the organization string ["FAITH", "RELIGIOUS_OTHER", "RECOVERY", "SCHOOL", "SOCIAL_SERVICE", "OTHER"]
organization[address][street] Street address of Location string
organization[address][city] City of Location string
organization[address][state] State of Location string
organization[address][postal_code] Postal code of Location string

Request

Route

POST /api/organizations

Headers

Authorization: Bearer acb334fd-a690-495b-826e-4f8fdb44ee43
Accept: application/json
Content-Type: application/json

Body

{
  "name": "Langworth, Frami and Hagenes",
  "vertical": "SCHOOL",
  "address": {
    "street": "75905 Tillman Stravenue",
    "city": "Aliville",
    "state": "New Jersey",
    "postal_code": "82036"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "3e27aa6f-61a4-43a4-b029-2aa98fbd49dd",
    "name": "Langworth, Frami and Hagenes",
    "vertical": "SCHOOL",
    "locations": [
      {
        "id": "210cd024-11c3-4b5f-ba56-ea2827066ac0",
        "name": "Langworth, Frami and Hagenes",
        "is_headquarters": true
      }
    ],
    "org_is_individual": false,
    "street": null,
    "city": null,
    "state": null,
    "postal_code": null
  }
}

Creates an Organization for an Individual User

Authorization: Firebase JWT

Endpoint

POST /api/organizations/create_for_user

Request

Route

POST /api/organizations/create_for_user

Headers

Authorization: Bearer 5a476908-6be6-457e-9a81-ed5df7cc75d0
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "863a5353-75a1-4804-8fcc-9089e235a548",
    "name": "Jospeh Lastname",
    "vertical": "FAITH",
    "locations": [
      {
        "id": "1b9b4582-7655-43c4-8d70-615fd70450bf",
        "name": "Jospeh Lastname",
        "is_headquarters": true
      }
    ],
    "org_is_individual": true,
    "street": null,
    "city": null,
    "state": null,
    "postal_code": null
  }
}

Get a list of organizations

Authorization: Firebase JWT

Endpoint

GET /api/organizations

Parameters

Name Description Type Default
organization[q] Optional parameter that adds a search criteria to match against the name field of organizations string
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | id | individual_creator_id | name | organization_xid | updated_at | vertical]
order Sort order

Request

Route

GET /api/organizations?q=Organization+12

Headers

Authorization: Bearer 42fabc53-0402-44a5-b690-ec0ac417a037
Accept: application/json
Content-Type: application/json

Query Parameters

q=Organization 12

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "1bd53c85-7265-4ff2-953f-b5b00483e8f4",
      "name": "Organization 12",
      "vertical": "FAITH",
      "locations": [
        {
          "id": "3d3cc928-20d5-4fd2-90ef-fbc01345ede3",
          "name": "Location 3",
          "is_headquarters": true
        },
        {
          "id": "8d3ac658-e6f2-4375-b668-563300024d76",
          "name": "Location 4",
          "is_headquarters": false
        }
      ],
      "org_is_individual": false,
      "street": null,
      "city": null,
      "state": null,
      "postal_code": null
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

returns the organization

org_is_individual boolean attribute specifies if this is an organization created for an invidividual’s personal use

Endpoint

GET /api/organizations/:organization_id

Request

Route

GET /api/organizations/42274f51-11ab-4dd8-a89b-2b397c7f7bf8

Headers

Authorization: Bearer 88c5827e-bc59-4d51-91dc-c3af0365564d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "42274f51-11ab-4dd8-a89b-2b397c7f7bf8",
    "name": "Organization 7",
    "vertical": "SOCIAL_SERVICE",
    "locations": [
      {
        "id": "f12956df-8cc2-4588-9710-36b94eb735fc",
        "name": "Location 2",
        "is_headquarters": true
      }
    ],
    "org_is_individual": false,
    "street": null,
    "city": null,
    "state": null,
    "postal_code": null
  }
}

updates the organization

Authorization: Firebase JWT

Endpoint

PATCH /api/organizations/:id

Request

Route

PATCH /api/organizations/55a52f42-c3cb-4daa-804f-e8d07dd52a1a

Headers

Authorization: Bearer fbbac8a9-d109-4638-ab9f-e386cf7bfbe6
Accept: application/json
Content-Type: application/json

Body

{
  "name": "Bartoletti and Sons"
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "55a52f42-c3cb-4daa-804f-e8d07dd52a1a",
    "name": "Bartoletti and Sons",
    "vertical": "SOCIAL_SERVICE",
    "locations": [

    ],
    "org_is_individual": false,
    "street": null,
    "city": null,
    "state": null,
    "postal_code": null
  }
}

Personally Identifiable Information

PII is only saved when the user opts-in and is associated with a Deployment Session if present

Create a Pii

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

POST /api/deployment_sessions/:deployment_session_id/piis

Parameters

Name Description Type
pii[first_name] The supplied first name string
pii[last_name] The supplied last name string
pii[email] The supplied email string
pii[phone_number] The supplied phone number string
pii[consent_item_id] The Gloo Consent Service ConsentItem ID used to create a ConsentLog for the PII string
pii[pii_consent_collected_at] The time at which the user consented to provide Pii datetime

Request

Route

POST /api/deployment_sessions/2419689666351465767/piis

Headers

Authorization: Bearer 1c7ba9de57d99cf2c96b13cb2d3246b7
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTY2NjM1MTQ2NTc2N3w1MTZhYWFiOS0zOTE5LTQ2NTktYjE4ZC00NjhiMDU5MDFlNTc=
Accept: application/json
Content-Type: application/json

Body

{
  "pii": {
    "first_name": "Clotilde",
    "last_name": "Ullrich",
    "email": "jamaal@jacobi.biz",
    "phone_number": "+19836186457",
    "pii_consent_collected_at": "2023-02-21T13:51:26.061-07:00"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689666443740456",
    "first_name": "Clotilde",
    "last_name": "Ullrich",
    "email": "jamaal@jacobi.biz",
    "deployment_session_id": "2419689666351465767",
    "phone_number": "+19836186457",
    "consented": true,
    "created_at": "2023-02-21T13:51:26.069-07:00",
    "updated_at": "2023-02-21T13:51:26.069-07:00",
    "anonymized": false
  }
}

Create duplicate Pii error

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

POST /api/deployment_sessions/:deployment_session_id/piis

Parameters

Name Description Type
pii[first_name] The supplied first name string
pii[last_name] The supplied last name string
pii[email] The supplied email string
pii[phone_number] The supplied phone number string
pii[consent_item_id] The Gloo Consent Service ConsentItem ID used to create a ConsentLog for the PII string
pii[pii_consent_collected_at] The time at which the user consented to provide Pii datetime

Request

Route

POST /api/deployment_sessions/2419689672315766069/piis

Headers

Authorization: Bearer 5bf943153beec05a0f16430ba5b27f7e
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTY3MjMxNTc2NjA2OXxjNTE4YTM4My02MTI3LTQzYzQtODMyNC0zYWQ3Yzk2YmE0Nzg=
Accept: application/json
Content-Type: application/json

Body

{
  "pii": {
    "first_name": "Bryant",
    "last_name": "Braun",
    "email": "lydia_jaskolski@lueilwitz-ankunding.name",
    "phone_number": "+9781012652",
    "pii_consent_collected_at": "2023-02-21T13:51:26.772-07:00"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689672399652150",
    "first_name": "Bryant",
    "last_name": "Braun",
    "email": "lydia_jaskolski@lueilwitz-ankunding.name",
    "deployment_session_id": "2419689672315766069",
    "phone_number": "+9781012652",
    "consented": true,
    "created_at": "2023-02-21T13:51:26.779-07:00",
    "updated_at": "2023-02-21T13:51:26.779-07:00",
    "anonymized": false
  }
}

Request

Route

POST /api/deployment_sessions/2419689672315766069/piis

Headers

Authorization: Bearer 5bf943153beec05a0f16430ba5b27f7e
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTY3MjMxNTc2NjA2OXxjNTE4YTM4My02MTI3LTQzYzQtODMyNC0zYWQ3Yzk2YmE0Nzg=
Accept: application/json
Content-Type: application/json

Body

{
  "pii": {
    "first_name": "Bryant",
    "last_name": "Braun",
    "email": "lydia_jaskolski@lueilwitz-ankunding.name",
    "phone_number": "+9781012652",
    "pii_consent_collected_at": "2023-02-21T13:51:26.772-07:00"
  }
}

Response

Simulated Response

Status

422

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "Pii already exists for this session"
      ]
    },
    "details": {
      "base": [
        {
          "error": "Pii already exists for this session"
        }
      ]
    }
  }
}

Download a CSV file of Consented PIIs for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/piis.csv

Parameters

Name Description Type
item_id required The Item ID string
item_option_id required The Item Option ID string

Request

Route

GET /api/deployments/2419689686215689575/piis.csv?item_id=2419689685913699679&item_option_id=2419689685964031328

Headers

Authorization: Bearer 1a118c3e-c2de-4562-b6d5-ae98f6c3aefc
Accept: text/csv
Content-Type: text/csv

Query Parameters

item_id=2419689685913699679
item_option_id=2419689685964031328

Response

Simulated Response

Status

200

Headers

Content-Type: text/csv; charset=utf-8

Body

First Name,Last Name,Email,Phone,Question,Answer
Jae,Lastname,eldon@ondricka.info,+13039461234,What is an item?,MKZ
Isaac,Lastname,shalon@macgyver.biz,+13039461234,What is an item?,MKZ
Janeen,Lastname,clyde_greenholt@wisoky.org,+13039461234,What is an item?,MKZ

Find or Create a Pii

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

PUT /api/deployment_sessions/:deployment_session_id/piis

Parameters

Name Description Type
pii[first_name] The supplied first name -- only on create string
pii[last_name] The supplied last nam -- only on createe string
pii[email] The supplied email -- only on create string
pii[phone_number] The supplied phone number string
pii[consent_item_id] The Gloo Consent Service ConsentItem ID used to create a ConsentLog for the PII string

Request

Route

PUT /api/deployment_sessions/2419689652728366330/piis

Headers

Authorization: Bearer a2e6d4d2c743593cd7fb899cc9265330
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTY1MjcyODM2NjMzMHwwNTNjM2MzOC1iZTExLTQyMWItYWY4NS1kYjBiODdkM2UxOGQ=
Accept: application/json
Content-Type: application/json

Body

{
  "pii": {
    "first_name": "Kaila",
    "last_name": "Ankunding",
    "email": "jarvis@gutmann.org",
    "phone_number": "+2839298725"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689652971635963",
    "first_name": "Kaila",
    "last_name": "Ankunding",
    "email": "jarvis@gutmann.org",
    "deployment_session_id": "2419689652728366330",
    "phone_number": "+2839298725",
    "consented": false,
    "created_at": "2023-02-21T13:51:24.464-07:00",
    "updated_at": "2023-02-21T13:51:24.464-07:00",
    "anonymized": false
  }
}

Get a Pii for a Deployment Session

Authorization: Firebase JWT

Endpoint

GET api/deployment_sessions/:deployment_session_id/pii

Request

Route

GET api/deployment_sessions/2419689659497973006/pii

Headers

Authorization: Bearer 8c44a94c-4a24-4538-898c-0af7ba4af4ad
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689659674133777",
    "first_name": "Felix",
    "last_name": "Lastname",
    "email": "myung@goodwin-huels.org",
    "deployment_session_id": "2419689659497973006",
    "phone_number": "+13039461234",
    "consented": true,
    "created_at": "2023-02-21T13:51:25.262-07:00",
    "updated_at": "2023-02-21T13:51:25.262-07:00",
    "anonymized": false
  }
}

Get a list of Consented Emails for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/piis/contact_list

Parameters

Name Description
item_id Filter by item_id. ex. ?item_id=1 for single value For multiple values use array syntax (?item_id[]=1&item_id[]=2) OR send as comma-separated values (?item_id=1,2,3)
item_option_id Filter by item_option_id. ex. ?item_option_id=1 for single value For multiple values use array syntax (?item_option_id[]=1&item_option_id[]=2) OR send as comma-separated values (?item_option_id=1,2,3)

Request

Route

GET /api/deployments/2419689678422672712/piis/contact_list

Headers

Authorization: Bearer b5e37c94-9740-4719-b816-2c3b96f6cf18
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    "corey.huels@jacobi.co",
    "isabella@hand.biz",
    "herlinda@purdy.name"
  ]
}

Get a list of Consented PIIs for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/piis

Parameters

Name Description Default
item_id Filter by item_id. ex. ?item_id=1 for single value For multiple values use array syntax (?item_id[]=1&item_id[]=2) OR send as comma-separated values (?item_id=1,2,3)
item_option_id Filter by item_option_id. ex. ?item_option_id=1 for single value For multiple values use array syntax (?item_option_id[]=1&item_option_id[]=2) OR send as comma-separated values (?item_option_id=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[account_xid | anonymized | consent_log_xid | created_at | deployment_session_id | email | first_name | id | last_name | phone_number | updated_at]
order Sort order

Request

Route

GET /api/deployments/2419689689831179654/piis

Headers

Authorization: Bearer fa1acff9-3be2-4ea8-b818-c88d25bcd654
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689690082837898",
      "first_name": "Willie",
      "last_name": "Lastname",
      "email": "annita@lang.biz",
      "deployment_session_id": "2419689689898288519",
      "phone_number": "+13039461234",
      "consented": true,
      "created_at": "2023-02-21T13:51:28.888-07:00",
      "updated_at": "2023-02-21T13:51:28.888-07:00",
      "anonymized": false
    },
    {
      "id": "2419689690217055630",
      "first_name": "Ryann",
      "last_name": "Lastname",
      "email": "millicent_wiegand@parisian-brakus.info",
      "deployment_session_id": "2419689690108003723",
      "phone_number": "+13039461234",
      "consented": true,
      "created_at": "2023-02-21T13:51:28.904-07:00",
      "updated_at": "2023-02-21T13:51:28.904-07:00",
      "anonymized": false
    },
    {
      "id": "2419689690359661970",
      "first_name": "Rodger",
      "last_name": "Lastname",
      "email": "breanne@trantow-bechtelar.name",
      "deployment_session_id": "2419689690242221455",
      "phone_number": "+13039461234",
      "consented": true,
      "created_at": "2023-02-21T13:51:28.920-07:00",
      "updated_at": "2023-02-21T13:51:28.920-07:00",
      "anonymized": false
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 3
    }
  }
}

Result Ranges

A Result Range is the low to high interval used for bucketing a Deployment Session into.

Get a Result Range

Authorization: Firebase JWT

Endpoint

GET /api/result_ranges/:id

Request

Route

GET /api/result_ranges/2419690976660424679

Headers

Authorization: Bearer 8d349e1b-91aa-46ce-8032-1eed2660de1e
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690976660424679",
    "name": "Molestias accusamus minima et.",
    "description": "Magni qui et. Quia soluta consequatur. Sunt aut perferendis.\nAutem porro corrupti. Velit nihil sit. Aut reprehenderit velit.",
    "rangeable_id": "2419690976626870246",
    "rangeable_type": "Domain",
    "range_start": "0.0",
    "range_end": "4.0",
    "created_at": "2023-02-21T13:54:02.259-07:00",
    "updated_at": "2023-02-21T13:54:02.259-07:00"
  }
}

Result Scores

Static internationalized display text for dimensions of the Barna Pulse assessments.

Get Result Scores

Authorization: Firebase JWT

Endpoint

GET /api/result_scores/:slug

Request

Route

GET /api/result_scores/barna-pulse-pastor-poll

Headers

Authorization: Bearer ec78075d-3421-4cdd-b711-0b1a0c13473d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "label": "Flourishing",
      "score": "58%",
      "description": "Your ratings are consistently positive across all dimensions of your personal assessment. It is especially significant that your faith is strong. As a matter of fact, research shows that individuals whose lives are grounded by a vibrant faith—while also connected to an active church community—are more likely to flourish in the assessment’s remaining four dimensions: relationships, vocation, finances and health. While none of us is ever finished growing spiritually, and we don’t pursue our faith to selfishly benefit other areas of life, it is good to see how God’s blessings flow into all aspects of our life when we put him first.",
      "details": [
        "High rankings across all 5 dimensions of flourishing",
        "Very strong on the Faith dimension",
        "Feeling very positive about multiple aspects of life"
      ]
    },
    {
      "label": "Trusting",
      "score": "8%",
      "description": "Based on your responses, all dimensions of your assessment are high except for the area of finances. Although you may be facing financial challenges—something 15% of other U.S. churchgoers are also experiencing—your outlook on life remains largely positive. Your life’s fullness is not defined by financial hardship. In fact, research shows that people like you, with a solid faith and an active connection to a church community, are more likely to flourish in their relationships, vocation and health. So keep trusting, because this foundational area of your life can help you maintain perspective as you work through short term challenges.",
      "details": [
        "High rankings across 4 of the 5 dimensions of flourishing, including Faith",
        "The area of Finances ranked lowest",
        "Feeling positive about most aspects of life, despite financial hardship",
        "Research shows a solid faith and connection to church community promote flourishing in the other four dimensions"
      ]
    },
    {
      "label": "Growing",
      "score": "29%",
      "description": "Your ratings are relatively high across all five dimensions of your personal assessment. And although your responses show room for additional growth, research indicates that your strong faith and active spiritual life can elevate your flourishing in other areas. People who are grounded in their faith and connected to their church community are more likely to flourish in their relationships, vocation, finances and health. While none of us is ever finished growing spiritually, and we don’t pursue our faith to selfishly benefit other areas of life, it is good to see how God’s blessings flow into all aspects of our life when we put him first.",
      "details": [
        "Moderately high scores across all 5 dimensions of flourishing",
        "Still room to grow in each dimension",
        "Research shows leaning on a solid faith and connection to church community promote flourishing in the other four dimensions"
      ]
    },
    {
      "label": "Exploring",
      "score": "<1%",
      "description": "Your ratings are consistent across four dimensions of the assessment, including relationships, vocation, finances and health. While there is moderate room for growth in these areas, they appear to be solid. In the faith dimension, however, your responses suggest you may be exploring what it means to place God at the center of your life. Research shows that those who are grounded in their spiritual life and actively connected to their church community are more likely to flourish across their life’s other dimensions. So keep exploring your faith to learn more about how a Christ-centered orientation can inform, enrich and bless your whole life.",
      "details": [
        "Relatively high scores across 4 of the 5 five dimensions of flourishing",
        "Faith dimensions is lower. Continued exploration of Faith recommended.",
        "Research shows a solid faith and connection to church community promote flourishing in other four dimensions"
      ]
    },
    {
      "label": "Unwavering",
      "score": "5%",
      "description": "Based on your responses, it looks like you rated several of the flourishing dimensions (health, finances, relationships) of your assessment lower than most—except for your faith. At this point in time, your life may have some challenges but your belief in God is solid. Regardless of your life’s circumstances, your spiritual convictions remain firm. This is great news because research shows that those who are grounded in their faith and actively connected to their church community often experience higher levels of personal flourishing in the other dimensions as well, including relationships, vocation, finances and health. So begin exploring ways you can take action to improve these facets of your life, and keep leaning on your faith. Because your connection to God and a church community can help you through a season of need.",
      "details": [
        "Lower scores across 4 of the 5 five dimensions of flourishing suggest several current challenges",
        "Faith dimensions remains strong",
        "Research shows a solid faith and connection to church community promote flourishing in other four dimensions"
      ]
    },
    {
      "label": "Enduring",
      "score": "<1%",
      "description": "Your responses to the various dimensions of your assessment reflect fairly low ratings. One possibility is that you’re a tough rater when it comes to answering these types of surveys. But your low ratings could also suggest that you are facing obstacles and a difficult season in your life. Meeting challenges like this can be exhausting—and it’s important to know you're not alone. Research shows that approximately 8% of other U.S. churchgoers are also enduring a difficult season in their life. Fortunately, there is hope. We also know from research that those who are actively connected to a church community—and anchored in a growing faith—tend to flourish across all dimensions, including relationships, vocation, finances and health. So don’t give up! Lean on a healthy church community and concentrate on your faith to help you endure and grow in every aspect of life.",
      "details": [
        "Low scores across all 5 dimensions of flourishing",
        "Either prone to giving very low survey ratings, or more likely facing several obstacles in life",
        "Research shows leaning on faith and a solid connection to church community promote flourishing in all of the flourishing  dimensions"
      ]
    }
  ]
}

Scales

A Scale is a container of related questions.

Add a Scale to a Domain

Authorization: Firebase JWT

Endpoint

POST /api/domains/:domain_id/scales

Parameters

Name Description Type
scale_id required ID of the Scale to be added to this Domain integer

Request

Route

POST /api/domains/2419689756117960203/scales

Headers

Authorization: Bearer 857bea6a-8153-4f28-94c9-8eb2c1ed3e0c
Accept: application/json
Content-Type: application/json

Body

{
  "scale_id": 2419689756159903244
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Add a Scale to an Assessment

Creates AssessmentItems for each Item that belongs to the Scale

Endpoint

POST /api/assessments/:assessment_id/scales

Parameters

Name Description Type
scale_id required Id of the Scale to be added to this Assessment integer

Request

Route

POST /api/assessments/2419689746613667319/scales

Headers

Authorization: Bearer 05c80750-fdd5-4fae-9942-296fc52c2468
Accept: application/json
Content-Type: application/json

Body

{
  "scale_id": 2419689746655610360
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Clone a Scale

Creates a clone of an existing Scale with the following aspects: * The cloned scale’s name attribute is prefixed with ‘[Clone]’ * The cloned scale’s privacy setting is ‘private’ * Adds the same items as the original to the cloned Scale * Tags the cloned Scale with the same tags as the original

Endpoint

POST /api/scales/:id/clone

Request

Route

POST /api/scales/2419689790184097356/clone

Headers

Authorization: Bearer 360498ef-6384-41a2-a437-135468565783
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689790309926478",
    "name": "[Clone] Debitis aut mollitia ut.",
    "display_name": "Aut qui quod deleniti.",
    "description": "Sequi id quidem. Qui sit non. Iure recusandae sapiente.\nAut eligendi molestiae. Et consequatur ut. Rerum quidem magni.",
    "scale_type": "ordinal",
    "display_score_type": "sum_score",
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "is_editable": true,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:40.835-07:00",
    "updated_at": "2023-02-21T13:51:40.838-07:00",
    "organization_xid": "9289eab6-36c8-428f-9bef-fb6eb23c5dd3",
    "privacy": "private"
  }
}

Create a Scale that belongs to a Gloo Organization

Authorization: Firebase JWT

Endpoint

POST /api/organizations/:organization_id/scales

Parameters

Name Description Type Enum
scale[name] required Name of the scale. 500 character limit and must be unique to the organization string
scale[description] required Description of the scale. 500 character limit. string
scale[display_name] required Name that should be displayed to users. 500 character limit string
scale[privacy] Indicates whether Scale is private (only usable by the organization), shared with other organizations, or publicly available for use string ["private", "limited_to_organization_ids", "public"]

Request

Route

POST /api/organizations/518e509c-da9d-489e-9653-74c275144ab5/scales

Headers

Authorization: Bearer 0988d33c-359b-4da3-8f4a-7353891320b9
Accept: application/json
Content-Type: application/json

Body

{
  "scale": {
    "name": "Labore eos eum quis.",
    "description": "Dicta fugiat dolores unde.",
    "display_name": "Est aut et nihil.",
    "privacy": "public"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689740624201198",
    "name": "Labore eos eum quis.",
    "display_name": "Est aut et nihil.",
    "description": "Dicta fugiat dolores unde.",
    "scale_type": "ordinal",
    "display_score_type": "sum_score",
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "is_editable": false,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:34.913-07:00",
    "updated_at": "2023-02-21T13:51:34.913-07:00",
    "organization_xid": "518e509c-da9d-489e-9653-74c275144ab5",
    "privacy": "public"
  }
}

Get Scales that belong to a Domain

Authorization: Firebase JWT

Endpoint

GET /api/domains/:domain_id/scales

Request

Route

GET /api/domains/2419689783246718528/scales

Headers

Authorization: Bearer c7dbe290-2878-4c9f-ae72-a619720251a8
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689783322216001",
      "name": "Pariatur qui sed facilis.",
      "display_name": "Voluptas et aut sed.",
      "description": "Et aut nemo. Sit officia nostrum. Voluptas maxime voluptatem.\nBeatae ipsa sit. Sint voluptatem similique. Voluptatem distinctio nesciunt.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:40.002-07:00",
      "updated_at": "2023-02-21T13:51:40.002-07:00",
      "organization_xid": null,
      "privacy": "private"
    },
    {
      "id": "2419689783380936258",
      "name": "Vitae dolores nulla earum.",
      "display_name": "Deleniti necessitatibus eum asperiores.",
      "description": "Magni voluptatem aperiam. Aut quaerat rerum. Doloribus vitae non.\nSaepe iure quo. Quis accusantium quasi. Cum perferendis maxime.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:40.009-07:00",
      "updated_at": "2023-02-21T13:51:40.009-07:00",
      "organization_xid": null,
      "privacy": "private"
    }
  ]
}

Get a Scale

Authorization: Firebase JWT

Endpoint

GET /api/scales/:id

Request

Route

GET /api/scales/2419689727747687895

Headers

Authorization: Bearer 17a3cecd-960e-482f-b2f0-04460291bedd
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689727747687895",
    "name": "Aut et qui earum.",
    "display_name": "Sapiente sit repellat blanditiis.",
    "description": "Aut dolor omnis. Consectetur fugiat nulla. In accusamus reprehenderit.\nQuis sit qui. Sequi totam officia. Asperiores qui quo.",
    "scale_type": "ordinal",
    "display_score_type": "sum_score",
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "is_editable": true,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:33.378-07:00",
    "updated_at": "2023-02-21T13:51:33.378-07:00",
    "organization_xid": null,
    "privacy": "private"
  }
}

Get a list of Scales Associated with an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/scales

Request

Route

GET /api/assessments/2419689776930096692/scales

Headers

Authorization: Bearer 4e6928f7-af79-42a6-a21a-36aa3d493f62
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689776972039733",
      "name": "Ducimus alias enim sed.",
      "display_name": "Corporis asperiores occaecati dicta.",
      "description": "Dolorem et veritatis. Quam autem corrupti. Consectetur optio quia.\nQui nulla nam. Asperiores nostrum placeat. Qui sunt similique.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:39.245-07:00",
      "updated_at": "2023-02-21T13:51:39.245-07:00",
      "organization_xid": null,
      "privacy": "private"
    },
    {
      "id": "2419689777005594167",
      "name": "Laboriosam dolor consequuntur veritatis.",
      "display_name": "Eos voluptas aut qui.",
      "description": "Architecto dolores ut. Eius quis eum. Minima error dolores.\nMaxime laboriosam ipsam. Molestiae et est. Corporis architecto nulla.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:39.250-07:00",
      "updated_at": "2023-02-21T13:51:39.250-07:00",
      "organization_xid": null,
      "privacy": "private"
    }
  ]
}

Get a list of Scales available for use by an Organization

Only returns active (non-archived) scales. By default, returns all scales available to my organization.

Endpoint

GET /api/organizations/:organization_id/scales/library

Parameters

Name Description Default Type
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | created_at | description | display_name | display_score_type | id | identifier | longitudinal_label_type | max_mean_score | max_sum_score | min_mean_score | min_sum_score | name | organization_xid | parent_scale_id | privacy | scale_type | updated_at | user_id]
order Sort order
only_shared Indicates to only return scales that have been shared with this organization or its parent network organizations and NOT scales owned by the organization boolean
q Optional parameter that adds a search criteria to the text field to further filter the returned list of scales string

Request

Route

GET /api/organizations/d7709b13-8796-48c2-ae76-7f581bc067f7/scales/library?only_shared=true

Headers

Authorization: Bearer 554e8113-00b5-4df5-bdd6-21fbf6b8e148
Accept: application/json
Content-Type: application/json

Query Parameters

only_shared=true

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689734064309729",
      "name": "Quis suscipit id iusto.",
      "display_name": "Esse veniam quis voluptates.",
      "description": "Nobis repudiandae enim. Qui eius fuga. Enim eveniet officia.\nEst quo voluptas. Sint quia minus. Eos voluptatem animi.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:34.130-07:00",
      "updated_at": "2023-02-21T13:51:34.130-07:00",
      "organization_xid": null,
      "privacy": "private"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Scales that belong to an Organization

Does not return any shared or public scales

Endpoint

GET /api/organizations/:organization_id/scales

Parameters

Name Description Default Type
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[archived_at | created_at | description | display_name | display_score_type | id | identifier | longitudinal_label_type | max_mean_score | max_sum_score | min_mean_score | min_sum_score | name | organization_xid | parent_scale_id | privacy | scale_type | updated_at | user_id]
order Sort order
archived Param (boolean) to indicate whether results should return ONLY archived Scales. (Without this param, only active (non-archived) Scales will be returned) boolean
q Optional parameter that adds a search criteria to the name field to further filter the returned list of scales string

Request

Route

GET /api/organizations/500c2bb9-64b8-46e5-bece-6230afd0298f/scales

Headers

Authorization: Bearer 10126832-1b8f-4491-908b-ba57201edee3
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689764858889761",
      "name": "Praesentium et ipsa enim.",
      "display_name": "Fugit consectetur maxime in.",
      "description": "Repellendus neque molestiae. Enim assumenda id. Eos et sunt.\nLabore ut et. Fugiat dolorem blanditiis. Non illo quis.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:37.801-07:00",
      "updated_at": "2023-02-21T13:51:37.801-07:00",
      "organization_xid": "500c2bb9-64b8-46e5-bece-6230afd0298f",
      "privacy": "private"
    },
    {
      "id": "2419689764909221410",
      "name": "Qui inventore non quibusdam.",
      "display_name": "Minus aut illum iusto.",
      "description": "Ut et delectus. Rerum aspernatur reiciendis. Recusandae laborum fugiat.\nConsequatur error eum. Consectetur enim similique. Iusto delectus inventore.",
      "scale_type": "ordinal",
      "display_score_type": "sum_score",
      "longitudinal_label_type": "raw_result_number_range",
      "max_score": "0.0",
      "min_score": "0.0",
      "max_sum_score": null,
      "max_mean_score": null,
      "min_sum_score": null,
      "min_mean_score": null,
      "is_associated_with_active_deployments": false,
      "is_editable": true,
      "archived_at": null,
      "created_at": "2023-02-21T13:51:37.807-07:00",
      "updated_at": "2023-02-21T13:51:37.807-07:00",
      "organization_xid": "500c2bb9-64b8-46e5-bece-6230afd0298f",
      "privacy": "private"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 2
    }
  }
}

Get an Assessment Scale

Authorization: Firebase JWT

Endpoint

GET /api/assessment_scales/:id

Request

Route

GET /api/assessment_scales/2419689758978475543

Headers

Authorization: Bearer ae9ae900-f195-480b-bfc4-2840f7c30847
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689758978475543",
    "assessment_id": "2419689758936532501",
    "scale_id": "2419689758970086934",
    "created_at": "2023-02-21T13:51:37.101-07:00",
    "updated_at": "2023-02-21T13:51:37.101-07:00"
  }
}

Get an Domain Scale

Authorization: Firebase JWT

Endpoint

GET /api/domain_scales/:id

Request

Route

GET /api/domain_scales/2419689771116791340

Headers

Authorization: Bearer 635b1cd0-ca46-46ba-a243-eeab4b9e3e02
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689771116791340",
    "domain_id": "2419689771024516650",
    "scale_id": "2419689771058071083",
    "created_at": "2023-02-21T13:51:38.548-07:00",
    "updated_at": "2023-02-21T13:51:38.548-07:00"
  }
}

Remove a Scale from an Assessment

Destroys any AssessmentsDomain objects where the Domain includes the Scale, but leaves any other Scales included in the Domain

Endpoint

DELETE /api/assessments/:assessment_id/scales/:scale_id

Request

Route

DELETE /api/assessments/2419689725080110539/scales/2419689725180773836

Headers

Authorization: Bearer abf23e0e-e444-44d4-8fa4-09b91bb34fc0
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Update a Scale

Authorization: Firebase JWT

Endpoint

PATCH /api/scales/:id

Parameters

Name Description Type
name required Name of the scale. 500 character limit and must be unique to the organization string
description required Description of the scale. 500 character limit. string
display_name required Name that should be displayed to users. 500 character limit string
privacy Privacy setting for the Scale (available options: private, limited_to_organization_ids, public

Request

Route

PATCH /api/scales/2419689749222524417

Headers

Authorization: Bearer 4adf4d55-942e-4fcd-b800-3f6ce60a3a56
Accept: application/json
Content-Type: application/json

Body

{
  "scale": {
    "name": "Repudiandae sit at tempore.",
    "display_name": "Eius provident non voluptatem.",
    "description": "Quia a recusandae nam.",
    "privacy": "public"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689749222524417",
    "name": "Repudiandae sit at tempore.",
    "display_name": "Eius provident non voluptatem.",
    "description": "Quia a recusandae nam.",
    "scale_type": "ordinal",
    "display_score_type": "sum_score",
    "longitudinal_label_type": "raw_result_number_range",
    "max_score": "0.0",
    "min_score": "0.0",
    "max_sum_score": null,
    "max_mean_score": null,
    "min_sum_score": null,
    "min_mean_score": null,
    "is_associated_with_active_deployments": false,
    "is_editable": false,
    "archived_at": null,
    "created_at": "2023-02-21T13:51:35.937-07:00",
    "updated_at": "2023-02-21T13:51:35.960-07:00",
    "organization_xid": null,
    "privacy": "public"
  }
}

ScoreConfigs

ScoreConfigs are used to create score configurations that may be applied to different objects, /n items, scales, domains, and assessments

Create a CustomCalculation for a ScaleScoreConfig

ScaleScoreConfig must have no associated scores, be in draft status, not have an existing associated CustomCalculation record, and have a score_type of custom_calculation

Endpoint

POST /api/scale_score_configs/:scale_score_config_id/custom_calculations

Parameters

Name Description Type
score_scope required Indicates the scope of the CustomCalculation, Allowed values: ["cohort", "individual"] string

Request

Route

POST /api/scale_score_configs/2419690160113321567/custom_calculations

Headers

Authorization: Bearer 965c1064-40e5-4277-9b9a-b4040f7670c9
Accept: application/json
Content-Type: application/json

Body

{
  "custom_calculation": {
    "score_scope": "cohort"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690160297870945",
    "calculable_id": "2419690160113321567",
    "calculable_type": "ScaleScoreConfig",
    "expression": null,
    "score_scope": "cohort"
  }
}

Create a CustomCalculation for an DomainScoreConfig

DomainScoreConfig must have no associated domain_scores, be in draft status, not have an existing associated CustomCalculation record, and have a score_type of custom_calculation

Endpoint

POST /api/domain_score_configs/:domain_score_config_id/custom_calculations

Parameters

Name Description Type
score_scope required Indicates the scope of the CustomCalculation, Allowed values: ["cohort", "individual"] string

Request

Route

POST /api/domain_score_configs/2419690256481650424/custom_calculations

Headers

Authorization: Bearer 18e4e9a0-29c2-45ad-b837-1da0d19d5616
Accept: application/json
Content-Type: application/json

Body

{
  "custom_calculation": {
    "score_scope": "cohort"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690256624256762",
    "calculable_id": "2419690256481650424",
    "calculable_type": "DomainScoreConfig",
    "expression": null,
    "score_scope": "cohort"
  }
}

Create a CustomCalculation for an ItemScoreConfig

ItemScoreConfig must have no associated item_scores, be in draft status, not have an existing associated CustomCalculation record, and have a score_type of custom_calculation

Endpoint

POST /api/item_score_configs/:item_score_config_id/custom_calculations

Parameters

Name Description Type
score_scope required Indicates the scope of the CustomCalculation, Allowed values: ["cohort", "individual"] string

Request

Route

POST /api/item_score_configs/2419690112415696409/custom_calculations

Headers

Authorization: Bearer da863780-c819-44cf-9aed-13343b8bd8ff
Accept: application/json
Content-Type: application/json

Body

{
  "custom_calculation": {
    "score_scope": "cohort"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690112575079963",
    "calculable_id": "2419690112415696409",
    "calculable_type": "ItemScoreConfig",
    "expression": null,
    "score_scope": "cohort"
  }
}

Create a DomainScoreConfig for a Domain

Authorization: Firebase JWT

Endpoint

POST /api/domains/:domain_id/domain_score_configs

Parameters

Name Description Type Enum
domain_score_config[name] required Name of the DomainScoreConfig string
domain_score_config[description] required Description of the DomainScoreConfig string
domain_score_config[score_type] required Type of Score string ["domain_sum", "domain_mean", "average_of_domain_sums", "average_of_domain_means", "custom_calculation"]

Request

Route

POST /api/domains/2419690229889763024/domain_score_configs

Headers

Authorization: Bearer f4e36483-654a-4e48-84db-6265149fb58d
Accept: application/json
Content-Type: application/json

Body

{
  "domain_score_config": {
    "name": "ipsa",
    "description": "Sit accusamus ducimus tempora.",
    "score_type": "domain_sum"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690230023980754",
    "domain_id": "2419690229889763024",
    "name": "ipsa",
    "description": "Sit accusamus ducimus tempora.",
    "score_type": "domain_sum",
    "score_type_scope": "individual",
    "status": "draft",
    "created_at": "2023-02-21T13:52:33.252-07:00",
    "updated_at": "2023-02-21T13:52:33.252-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Create a PercentileRankConfig for an DomainScoreConfig

DomainScoreConfig must have no associated domain_scores, be in draft status, not have an existing associated PercentileRankConfig record, and NOT have a score_type of custom_calculation

Endpoint

POST /api/domain_score_configs/:domain_score_config_id/percentile_rank_configs

Parameters

Name Description Type
standard_deviation required Standard deviation to be used in the calculation of the percentile rank config float
mean required Mean value to be used in the calculation of the percentile rank config float

Request

Route

POST /api/domain_score_configs/2419690190220035732/percentile_rank_configs

Headers

Authorization: Bearer e0a8e508-c89f-4c80-91c9-aaf474c460b1
Accept: application/json
Content-Type: application/json

Body

{
  "percentile_rank_config": {
    "standard_deviation": 1.2,
    "mean": 3.0
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690190379419286",
    "rankable_id": "2419690190220035732",
    "rankable_type": "DomainScoreConfig",
    "standard_deviation": "1.2",
    "mean": "3.0",
    "created_at": "2023-02-21T13:52:28.512-07:00",
    "updated_at": "2023-02-21T13:52:28.512-07:00"
  }
}

Create a PercentileRankConfig for an ItemScoreConfig

ItemScoreConfig must have no associated item_scores, be in draft status, not have an existing associated PercentileRankConfig record, and NOT have a score_type of custom_calculation

Endpoint

POST /api/item_score_configs/:item_score_config_id/percentile_rank_configs

Parameters

Name Description Type
standard_deviation required Standard deviation to be used in the calculation of the percentile rank config float
mean required Mean value to be used in the calculation of the percentile rank config float

Request

Route

POST /api/item_score_configs/2419690146364393036/percentile_rank_configs

Headers

Authorization: Bearer b077f523-263f-40a1-ab6b-7de19f75be50
Accept: application/json
Content-Type: application/json

Body

{
  "percentile_rank_config": {
    "standard_deviation": 1.2,
    "mean": 3.0
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690146532165198",
    "rankable_id": "2419690146364393036",
    "rankable_type": "ItemScoreConfig",
    "standard_deviation": "1.2",
    "mean": "3.0",
    "created_at": "2023-02-21T13:52:23.287-07:00",
    "updated_at": "2023-02-21T13:52:23.287-07:00"
  }
}

Create a PercentileRankConfig for an ScaleScoreConfig

ScaleScoreConfig must have no associated scale_scores, be in draft status, not have an existing associated PercentileRankConfig record, and NOT have a score_type of custom_calculation

Endpoint

POST /api/scale_score_configs/:scale_score_config_id/percentile_rank_configs

Parameters

Name Description Type
standard_deviation required Standard deviation to be used in the calculation of the percentile rank config float
mean required Mean value to be used in the calculation of the percentile rank config float

Request

Route

POST /api/scale_score_configs/2419690242908882659/percentile_rank_configs

Headers

Authorization: Bearer eb44be73-f568-4036-b855-010490497777
Accept: application/json
Content-Type: application/json

Body

{
  "percentile_rank_config": {
    "standard_deviation": 1.2,
    "mean": 3.0
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690243143763685",
    "rankable_id": "2419690242908882659",
    "rankable_type": "ScaleScoreConfig",
    "standard_deviation": "1.2",
    "mean": "3.0",
    "created_at": "2023-02-21T13:52:34.815-07:00",
    "updated_at": "2023-02-21T13:52:34.815-07:00"
  }
}

Create an ItemScoreConfig for an Item

Authorization: Firebase JWT

Endpoint

POST /api/items/:item_id/item_score_configs

Parameters

Name Description Type Enum
item_score_config[name] required Name of the ItemScoreConfig string
item_score_config[description] required Description of the ItemScoreConfig string
item_score_config[score_type] required Type of Score string ["raw_value", "mean_of_raw_values", "custom_calculation", "sum_of_raw_values"]

Request

Route

POST /api/items/2419690236156053209/item_score_configs

Headers

Authorization: Bearer 2ac0157f-672a-4daf-b7f6-924b9a3fbec4
Accept: application/json
Content-Type: application/json

Body

{
  "item_score_config": {
    "name": "hic",
    "description": "Quo natus sit iure.",
    "score_type": "raw_value"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690236382545627",
    "item_id": "2419690236156053209",
    "name": "hic",
    "description": "Quo natus sit iure.",
    "score_type": "raw_value",
    "score_type_scope": "individual",
    "status": "draft",
    "created_at": "2023-02-21T13:52:34.009-07:00",
    "updated_at": "2023-02-21T13:52:34.009-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Create an ScaleScoreConfig for a Scale

Authorization: Firebase JWT

Endpoint

POST /api/scales/:scale_id/scale_score_configs

Parameters

Name Description Type Enum
scale_score_config[name] required Name of the ScaleScoreConfig string
scale_score_config[description] required Description of the ScaleScoreConfig string
scale_score_config[score_type] required Type of Score string ["scale_sum", "scale_mean", "average_of_scale_sums", "average_of_scale_means", "custom_calculation"]

Request

Route

POST /api/scales/2419690295706781494/scale_score_configs

Headers

Authorization: Bearer 41d1d2ba-67bf-47fd-ac95-734f7dca7f6b
Accept: application/json
Content-Type: application/json

Body

{
  "scale_score_config": {
    "name": "corporis",
    "description": "Aut in eum enim.",
    "score_type": "average_of_scale_means"
  }
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690296033937208",
    "scale_id": "2419690295706781494",
    "name": "corporis",
    "description": "Aut in eum enim.",
    "score_type": "average_of_scale_means",
    "score_type_scope": "cohort",
    "status": "draft",
    "created_at": "2023-02-21T13:52:41.119-07:00",
    "updated_at": "2023-02-21T13:52:41.119-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Delete a CustomCalculation

ItemScoreConfig must have no associated item_scores and be in draft status

Endpoint

DELETE /api/custom_calculations/:custom_calculation_id

Request

Route

DELETE /api/custom_calculations/2419690109857170960

Headers

Authorization: Bearer 66e16429-03bd-4732-acb2-9231a3f0df27
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Delete a DomainScoreConfig

Must have no associated domain_scores and be in draft status

Endpoint

DELETE /api/domain_score_configs/:domain_score_config_id

Request

Route

DELETE /api/domain_score_configs/2419690187753784971

Headers

Authorization: Bearer a87ae544-f39e-43bd-bc43-46621851f239
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Delete a ScaleScoreConfig

Must have no associated scale_scores and be in draft status

Endpoint

DELETE /api/scale_score_configs/:scale_score_config_id

Request

Route

DELETE /api/scale_score_configs/2419690302300227392

Headers

Authorization: Bearer 91a273b0-3f5b-46d3-8f81-67132f6fda39
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Delete an ItemScoreConfig

Must have no associated item_scores and be in draft status

Endpoint

DELETE /api/item_score_configs/:item_score_config_id

Request

Route

DELETE /api/item_score_configs/2419690318699956059

Headers

Authorization: Bearer 243f5447-29b6-4cf1-9c5b-ed0c9474e645
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Get DomainScoreConfigs for an Assessment

It also includes DomainScoreConfig records in draft state if the current user has the ASSESMENT_AUTHOR role for the organization that the related Item belongs to

Endpoint

GET /api/assessments/:assessment_id/domain_score_configs

Request

Route

GET /api/assessments/2419690289222387499/domain_score_configs

Headers

Authorization: Bearer 1f3a53fe-ee72-43fe-b715-7dea83b8b086
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690289423714093",
      "domain_id": "2419690289339828012",
      "name": "Voluptatem officiis voluptatum voluptas.",
      "description": "Ab molestiae quasi tenetur.",
      "score_type": "domain_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:40.331-07:00",
      "updated_at": "2023-02-21T13:52:40.331-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get DomainScoreConfigs for an Assessment

It also includes DomainScoreConfig records in draft state if the current user has the ASSESMENT_AUTHOR role for the organization that the related Item belongs to

Endpoint

GET /api/assessments/:assessment_id/domain_score_configs

Request

Route

GET /api/assessments/2419690289222387499/domain_score_configs

Headers

Authorization: Bearer 1f3a53fe-ee72-43fe-b715-7dea83b8b086
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690289423714093",
      "domain_id": "2419690289339828012",
      "name": "Voluptatem officiis voluptatum voluptas.",
      "description": "Ab molestiae quasi tenetur.",
      "score_type": "domain_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:40.331-07:00",
      "updated_at": "2023-02-21T13:52:40.331-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get ItemScoreConfigs for an Assessment

It also includes ItemScoreConfig records in draft state if the current user has the ASSESMENT_AUTHOR role for the organization that the related Item belongs to

Endpoint

GET /api/assessments/:assessment_id/item_score_configs

Request

Route

GET /api/assessments/2419690283023206176/item_score_configs

Headers

Authorization: Bearer 0045d231-c582-4484-8ed7-8866f80f7693
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690283098703650",
      "item_id": "2419690283056760609",
      "name": "Nihil in laudantium iste.",
      "description": "Dignissimos soluta quia asperiores.",
      "score_type": "raw_value",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:39.578-07:00",
      "updated_at": "2023-02-21T13:52:39.578-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get ScaleScoreConfigs for an Assessment

It also includes ScaleScoreConfig records in draft state if the current user has the ASSESMENT_AUTHOR role for the organization that the related Item belongs to

Endpoint

GET /api/assessments/:assessment_id/scale_score_configs

Request

Route

GET /api/assessments/2419690249384888044/scale_score_configs

Headers

Authorization: Bearer a8999273-b09c-4eb5-a4ca-31b60e5a1802
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690249493939950",
      "scale_id": "2419690249451996909",
      "name": "Repellendus assumenda omnis dolores.",
      "description": "Et sed eius fugiat.",
      "score_type": "scale_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:35.573-07:00",
      "updated_at": "2023-02-21T13:52:35.573-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get ScaleScoreConfigs for an Assessment

It also includes ScaleScoreConfig records in draft state if the current user has the ASSESMENT_AUTHOR role for the organization that the related Item belongs to

Endpoint

GET /api/assessments/:assessment_id/scale_score_configs

Request

Route

GET /api/assessments/2419690249384888044/scale_score_configs

Headers

Authorization: Bearer a8999273-b09c-4eb5-a4ca-31b60e5a1802
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690249493939950",
      "scale_id": "2419690249451996909",
      "name": "Repellendus assumenda omnis dolores.",
      "description": "Et sed eius fugiat.",
      "score_type": "scale_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:35.573-07:00",
      "updated_at": "2023-02-21T13:52:35.573-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get a CustomCalculation

Authorization: Firebase JWT

Endpoint

GET /api/custom_calculations/:custom_calculation_id

Request

Route

GET /api/custom_calculations/2419690222977550024

Headers

Authorization: Bearer 899b125f-28d6-4870-9325-993b95f6fa23
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690222977550024",
    "calculable_id": "2419690222910441159",
    "calculable_type": "ItemScoreConfig",
    "expression": null,
    "score_scope": "individual"
  }
}

Get a PercentileRankConfig

Authorization: Firebase JWT

Endpoint

GET /api/percentile_rank_configs/:percentile_rank_config_id

Request

Route

GET /api/percentile_rank_configs/2419690119319520804

Headers

Authorization: Bearer e5bc5810-e8c0-4a4e-863e-8785f1a03b76
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690119319520804",
    "rankable_id": "2419690119277577763",
    "rankable_type": "ItemScoreConfig",
    "standard_deviation": "1.2",
    "mean": "3.0",
    "created_at": "2023-02-21T13:52:20.044-07:00",
    "updated_at": "2023-02-21T13:52:20.044-07:00"
  }
}

Get a list of DomainScoreConfigs that belong to a Domain

Authorization: Firebase JWT

Endpoint

GET /api/domains/:domain_id/domain_score_configs

Parameters

Name Description
status Filter by status. ex. ?status=1 for single value For multiple values use array syntax (?status[]=1&status[]=2) OR send as comma-separated values (?status=1,2,3)
score_type_scope Filter by score_type_scope. ex. ?score_type_scope=1 for single value For multiple values use array syntax (?score_type_scope[]=1&score_type_scope[]=2) OR send as comma-separated values (?score_type_scope=1,2,3)

Request

Route

GET /api/domains/2419690216241497788/domain_score_configs

Headers

Authorization: Bearer d166c6d2-aa1f-4675-a495-62bc3948eb15
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690216300218045",
      "domain_id": "2419690216241497788",
      "name": "Dolores aperiam porro corporis.",
      "description": "Dolores dolorum assumenda fuga.",
      "score_type": "domain_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:31.616-07:00",
      "updated_at": "2023-02-21T13:52:31.616-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    },
    {
      "id": "2419690216342161086",
      "domain_id": "2419690216241497788",
      "name": "Illum similique dolores incidunt.",
      "description": "Nisi est est aliquid.",
      "score_type": "domain_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:31.622-07:00",
      "updated_at": "2023-02-21T13:52:31.622-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get a list of ItemScoreConfigs that belong to an Item

Authorization: Firebase JWT

Endpoint

GET /api/items/:item_id/item_score_configs

Parameters

Name Description
status Filter by status. ex. ?status=1 for single value For multiple values use array syntax (?status[]=1&status[]=2) OR send as comma-separated values (?status=1,2,3)
score_type_scope Filter by score_type_scope. ex. ?score_type_scope=1 for single value For multiple values use array syntax (?score_type_scope[]=1&score_type_scope[]=2) OR send as comma-separated values (?score_type_scope=1,2,3)

Request

Route

GET /api/items/2419690209329284786/item_score_configs

Headers

Authorization: Bearer 697513a9-e65f-441d-80d0-9bb281bca64b
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690209455113907",
      "item_id": "2419690209329284786",
      "name": "Est et ullam assumenda.",
      "description": "Sunt animi sit facilis.",
      "score_type": "raw_value",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:30.800-07:00",
      "updated_at": "2023-02-21T13:52:30.800-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    },
    {
      "id": "2419690209497056948",
      "item_id": "2419690209329284786",
      "name": "Est voluptatem ad amet.",
      "description": "Excepturi iste consequatur voluptates.",
      "score_type": "raw_value",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:30.805-07:00",
      "updated_at": "2023-02-21T13:52:30.805-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get a list of ScaleScoreConfigs that belong to a Scale

Authorization: Firebase JWT

Endpoint

GET /api/scales/:scale_id/scale_score_configs

Parameters

Name Description
status Filter by status. ex. ?status=1 for single value For multiple values use array syntax (?status[]=1&status[]=2) OR send as comma-separated values (?status=1,2,3)
score_type_scope Filter by score_type_scope. ex. ?score_type_scope=1 for single value For multiple values use array syntax (?score_type_scope[]=1&score_type_scope[]=2) OR send as comma-separated values (?score_type_scope=1,2,3)

Request

Route

GET /api/scales/2419690269114894092/scale_score_configs

Headers

Authorization: Bearer 142ebbba-89bc-4c5e-9a67-6ab33f214fa9
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690269182002957",
      "scale_id": "2419690269114894092",
      "name": "Saepe aut accusantium debitis.",
      "description": "Qui atque sunt consequatur.",
      "score_type": "scale_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:37.919-07:00",
      "updated_at": "2023-02-21T13:52:37.919-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    },
    {
      "id": "2419690269341386510",
      "scale_id": "2419690269114894092",
      "name": "Architecto velit officiis enim.",
      "description": "Modi minima similique voluptate.",
      "score_type": "scale_sum",
      "score_type_scope": "individual",
      "status": "published",
      "created_at": "2023-02-21T13:52:37.938-07:00",
      "updated_at": "2023-02-21T13:52:37.938-07:00",
      "percentile_rank_config_present": false,
      "min_score": null,
      "max_score": null
    }
  ]
}

Get the CustomCalculation for a DomainScoreConfig

Authorization: Firebase JWT

Endpoint

GET /api/domain_score_configs/:domain_score_config_id/custom_calculations

Request

Route

GET /api/domain_score_configs/2419690181093230209/custom_calculations

Headers

Authorization: Bearer 021ec586-b8ee-41e0-a3e4-2dbc51cc6d58
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690181244225154",
      "calculable_id": "2419690181093230209",
      "calculable_type": "DomainScoreConfig",
      "expression": null,
      "score_scope": "individual"
    }
  ]
}

Get the CustomCalculation for a ScaleScoreConfig

Authorization: Firebase JWT

Endpoint

GET /api/scale_score_configs/:scale_score_config_id/custom_calculations

Request

Route

GET /api/scale_score_configs/2419690195974620830/custom_calculations

Headers

Authorization: Bearer 4805818e-f8d6-46c9-95e3-acf9587024cb
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690196075284127",
      "calculable_id": "2419690195974620830",
      "calculable_type": "ScaleScoreConfig",
      "expression": null,
      "score_scope": "individual"
    }
  ]
}

Get the CustomCalculation for an ItemScoreConfig

Authorization: Firebase JWT

Endpoint

GET /api/item_score_configs/:item_score_config_id/custom_calculations

Request

Route

GET /api/item_score_configs/2419690131592054327/custom_calculations

Headers

Authorization: Bearer e93c02cc-67a6-4484-9552-fedc0c8b5816
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690131759826489",
      "calculable_id": "2419690131592054327",
      "calculable_type": "ItemScoreConfig",
      "expression": null,
      "score_scope": "individual"
    }
  ]
}

Get the PercentileRankConfig for a DomainScoreConfig

Authorization: Firebase JWT

Endpoint

GET /api/domain_score_configs/:domain_score_config_id/percentile_rank_configs

Request

Route

GET /api/domain_score_configs/2419690125443204653/percentile_rank_configs

Headers

Authorization: Bearer 3c07dee3-481f-4d8b-9009-0810e0e22e23
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690125485147694",
      "rankable_id": "2419690125443204653",
      "rankable_type": "DomainScoreConfig",
      "standard_deviation": "1.2",
      "mean": "3.0",
      "created_at": "2023-02-21T13:52:20.779-07:00",
      "updated_at": "2023-02-21T13:52:20.779-07:00"
    }
  ]
}

Get the PercentileRankConfig for a ScaleScoreConfig

(Returned as single element in an array)

Endpoint

GET /api/scale_score_configs/:scale_score_config_id/percentile_rank_configs

Request

Route

GET /api/scale_score_configs/2419690275951609623/percentile_rank_configs

Headers

Authorization: Bearer 604d61c7-55d8-495e-871e-fd43f3256eb4
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690276018718488",
      "rankable_id": "2419690275951609623",
      "rankable_type": "ScaleScoreConfig",
      "standard_deviation": "1.2",
      "mean": "3.0",
      "created_at": "2023-02-21T13:52:38.733-07:00",
      "updated_at": "2023-02-21T13:52:38.733-07:00"
    }
  ]
}

Get the PercentileRankConfig for an ItemScoreConfig

Authorization: Firebase JWT

Endpoint

GET /api/item_score_configs/:item_score_config_id/percentile_rank_configs

Request

Route

GET /api/item_score_configs/2419690262546614018/percentile_rank_configs

Headers

Authorization: Bearer 37f24fbf-f92b-4bfa-8dcb-d33dc4dedf94
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690262697608964",
      "rankable_id": "2419690262546614018",
      "rankable_type": "ItemScoreConfig",
      "standard_deviation": "1.2",
      "mean": "3.0",
      "created_at": "2023-02-21T13:52:37.146-07:00",
      "updated_at": "2023-02-21T13:52:37.146-07:00"
    }
  ]
}

Update a CustomCalculation

Authorization: Firebase JWT

Endpoint

PATCH /api/custom_calculations/:id

Parameters

Name Description Type Enum
custom_calculation[expression] Mathematical Expression string
custom_calculation[score_scope] Score Scope string ["cohort", "individual"]

Request

Route

PATCH /api/custom_calculations/2419690174491395701

Headers

Authorization: Bearer 72f7fde8-19b0-4e29-bd34-05fac8421fc3
Accept: application/json
Content-Type: application/json

Body

{
  "custom_calculation": {
    "expression": "A + B - 5",
    "score_scope": "cohort"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690174491395701",
    "calculable_id": "2419690174441064052",
    "calculable_type": "ItemScoreConfig",
    "expression": "A + B - 5",
    "score_scope": "cohort"
  }
}

Update a DomainScoreConfig

Authorization: Firebase JWT

Endpoint

PATCH /api/domain_score_configs/:id

Parameters

Name Description Type Enum
domain_score_config[name] Name of the DomainScoreConfig string
domain_score_config[description] Description of the DomainScoreConfig string
domain_score_config[score_type] Type of Score Config. Can't be edited if record has been published. string ["domain_sum", "domain_mean", "average_of_domain_sums", "average_of_domain_means", "custom_calculation"]
domain_score_config[status] Published status of DomainScoreConfig. Can't be edited if record has been published. string ["draft", "published"]

Request

Route

PATCH /api/domain_score_configs/2419690312299448146

Headers

Authorization: Bearer 307e1c38-ee0c-4cae-812f-4a50d2595046
Accept: application/json
Content-Type: application/json

Body

{
  "domain_score_config": {
    "name": "nisi",
    "description": "Molestiae id voluptatum dignissimos.",
    "score_type": "domain_sum",
    "status": "published"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690312299448146",
    "domain_id": "2419690312215562065",
    "name": "nisi",
    "description": "Molestiae id voluptatum dignissimos.",
    "score_type": "domain_sum",
    "score_type_scope": "individual",
    "status": "published",
    "created_at": "2023-02-21T13:52:43.058-07:00",
    "updated_at": "2023-02-21T13:52:43.083-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Update a ScaleScoreConfig

Authorization: Firebase JWT

Endpoint

PATCH /api/scale_score_configs/:id

Parameters

Name Description Type Enum
scale_score_config[name] Name of the ScaleScoreConfig string
scale_score_config[description] Description of the ScaleScoreConfig string
scale_score_config[score_type] Type of Score Config. Can't be edited if record has been published. string ["scale_sum", "scale_mean", "average_of_scale_sums", "average_of_scale_means", "custom_calculation"]
scale_score_config[status] Published status of ScaleScoreConfig. Can't be edited if record has been published. string ["draft", "published"]

Request

Route

PATCH /api/scale_score_configs/2419690305244628809

Headers

Authorization: Bearer c821e93a-8fb1-4d65-b17a-958c8aa45e9f
Accept: application/json
Content-Type: application/json

Body

{
  "scale_score_config": {
    "name": "illum",
    "description": "Beatae suscipit cum et.",
    "score_type": "custom_calculation",
    "status": "published"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690305244628809",
    "scale_id": "2419690305211074376",
    "name": "illum",
    "description": "Beatae suscipit cum et.",
    "score_type": "scale_sum",
    "score_type_scope": "individual",
    "status": "published",
    "created_at": "2023-02-21T13:52:42.218-07:00",
    "updated_at": "2023-02-21T13:52:42.241-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Update an ItemScoreConfig

Authorization: Firebase JWT

Endpoint

PATCH /api/item_score_configs/:id

Parameters

Name Description Type Enum
item_score_config[name] Name of the ItemScoreConfig string
item_score_config[description] Description of the ItemScoreConfig string
item_score_config[score_type] Type of Score Config. Can't be edited if record has been published. string ["raw_value", "mean_of_raw_values", "custom_calculation", "sum_of_raw_values"]
item_score_config[status] Published status of ItemScoreConfig. Can't be edited if record has been published. string ["draft", "published"]

Request

Route

PATCH /api/item_score_configs/2419690152857175638

Headers

Authorization: Bearer b81654f0-428b-4297-bb0b-87cd55abfcad
Accept: application/json
Content-Type: application/json

Body

{
  "item_score_config": {
    "name": "facere",
    "description": "Sit natus temporibus cumque.",
    "score_type": "mean_of_raw_values",
    "status": "published"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690152857175638",
    "item_id": "2419690152722957909",
    "name": "facere",
    "description": "Sit natus temporibus cumque.",
    "score_type": "raw_value",
    "score_type_scope": "individual",
    "status": "published",
    "created_at": "2023-02-21T13:52:24.041-07:00",
    "updated_at": "2023-02-21T13:52:24.067-07:00",
    "percentile_rank_config_present": false,
    "min_score": null,
    "max_score": null
  }
}

Update an PercentileRankConfig

Authorization: Firebase JWT

Endpoint

PATCH /api/percentile_rank_configs/:id

Parameters

Name Description Type
percentile_rank_config[standard_deviation] Standard deviation float
percentile_rank_config[mean] Mean float

Request

Route

PATCH /api/percentile_rank_configs/2419690138579764803

Headers

Authorization: Bearer 39cc57d6-f6fe-46b7-98f9-7e869674c132
Accept: application/json
Content-Type: application/json

Body

{
  "percentile_rank_config": {
    "standard_deviation": 6.88,
    "mean": 4.27
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690138579764803",
    "rankable_id": "2419690138495878722",
    "rankable_type": "ItemScoreConfig",
    "standard_deviation": "6.88",
    "mean": "4.27",
    "created_at": "2023-02-21T13:52:22.339-07:00",
    "updated_at": "2023-02-21T13:52:22.398-07:00"
  }
}

Scores

Scores are generated using responses to specific Questions for a Deployment Session. Many statistical factors are taken into account. The availability of a particular score depends on that specific Assessment and its Questions, Scales, and/or Domains.

Get a Custom Score for a Deployment

Authorization: Firebase JWT

Endpoint

GET /api/deployments/:deployment_id/scores/:slug

Parameters

Name Description Type Enum
slug The slug for the custom score string ["awana-become", "awana-believe", "awana-belong", "barna-pulse-flourishing-faith", "barna-pulse-flourishing-financial", "barna-pulse-flourishing-health", "barna-pulse-flourishing-relationship", "barna-pulse-flourishing-vocation", "barna-pulse-thriving-leading-data", "barna-pulse-thriving-leading-future", "barna-pulse-thriving-leading-health", "barna-pulse-thriving-leading-stability", "barna-pulse-thriving-nurturing-bible", "barna-pulse-thriving-nurturing-community", "barna-pulse-thriving-nurturing-leaders", "barna-pulse-thriving-nurturing-prayer", "barna-pulse-thriving-nurturing-spiritual", "barna-pulse-thriving-nurturing-worship", "barna-pulse-thriving-sending-faith", "barna-pulse-thriving-sending-leadership", "barna-pulse-thriving-sending-serving", "barna-pulse-thriving-sending-social-impact", "barna-pulse-thriving-sending-stewardship", "mental-wellbeing-daily-functioning", "mental-wellbeing-healthy-relationships", "mental-wellbeing-overall-aggregate", "mental-wellbeing-positive-emotions", "prayer-pulse-church-culture", "prayer-pulse-personal-experiences", "prayer-pulse-prayer-beliefs", "prayer-pulse-prayer-practices", "reveal-individual-beliefs", "reveal-individual-faith-in-action", "reveal-individual-practices", "reveal-individual-virtues"]

Request

Route

GET /api/deployments/2419689613327074406/scores/reveal-individual-beliefs

Headers

Authorization: Bearer 74deb169-866b-4459-acb2-2d61963e2030
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "score": "78.2119",
    "label": "5 Beliefs",
    "description": null
  }
}

Get a Custom Score for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployment_sessions/:deployment_session_id/scores/:slug

Parameters

Name Description Type Enum
slug The slug for the custom score string ["abs-scripture-engagement", "abs-scripture-engagement-opportunities", "barna-pulse-flourishing-high-score", "barna-pulse-flourishing-low-score", "barna-pulse-flourishing-persona", "belief-compassion", "belief-eternity", "belief-god", "belief-humanity", "belief-identity-in-christ", "belief-personal-god", "belief-salvation", "belief-stewardship", "belief-the-bible", "belief-the-church", "generosity", "harvard-secure-flourishing-index-character", "harvard-secure-flourishing-index-finances", "harvard-secure-flourishing-index-health", "harvard-secure-flourishing-index-life-satisfaction", "harvard-secure-flourishing-index-relationship", "harvard-secure-flourishing-index-vocation", "love-of-god", "love-of-others", "mental-wellbeing", "pastor-poll-flourishing-faith", "pastor-poll-flourishing-finances", "pastor-poll-flourishing-health", "pastor-poll-flourishing-overall", "pastor-poll-flourishing-relationship", "pastor-poll-flourishing-vocation", "practice-bible-study", "practice-biblical-community", "practice-giving-my-resources", "practice-offering-my-time", "practice-prayer", "practice-sharing-my-faith", "practice-single-mindedness", "practice-spiritual-gifts", "practice-total-surrender", "practice-worship", "prayer-pulse-beliefs", "prayer-pulse-experiences", "prayer-pulse-practices", "relationship-check-in-closeness-connection", "relationship-check-in-commitment", "relationship-check-in-communication", "relationship-check-in-conflict-resolution", "relationship-check-in-expressing-appreciation", "relationship-check-in-finances-money", "relationship-check-in-forgiveness", "relationship-check-in-intimacy-affection", "relationship-check-in-roles-and-expectations", "relationship-check-in-spiritual-beliefs-faith", "relationship-check-in-time-together", "reveal-classification", "reveal-individual-beliefs-identity-in-christ", "reveal-individual-beliefs-overall", "reveal-individual-beliefs-personal-god", "reveal-individual-beliefs-salvation-by-grace", "reveal-individual-beliefs-the-bible", "reveal-individual-beliefs-trinity", "reveal-individual-faith-in-action-evangelism", "reveal-individual-faith-in-action-financial-giving", "reveal-individual-faith-in-action-overall", "reveal-individual-faith-in-action-serving", "reveal-individual-faith-in-action-spiritual-gifts", "reveal-individual-faith-in-action-total-surrender", "reveal-individual-practices-bible-study", "reveal-individual-practices-biblical-community", "reveal-individual-practices-overall", "reveal-individual-practices-prayer", "reveal-individual-practices-single-mindedness", "reveal-individual-practices-worship", "reveal-individual-virtues-joy", "reveal-individual-virtues-love", "reveal-individual-virtues-overall", "reveal-individual-virtues-patience", "reveal-individual-virtues-peace", "reveal-individual-virtues-self-control", "reveal-overall-church-engagement", "virtue-faithfulness", "virtue-gentleness", "virtue-hope", "virtue-humility", "virtue-joy", "virtue-kindness", "virtue-love", "virtue-patience", "virtue-peace", "virtue-self-control"]

Request

Route

GET /api/deployment_sessions/2419689605877990472/scores/reveal-classification

Headers

Authorization: Bearer 771703cf6a79ddff2490dcb85b4ceb85
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTYwNTg3Nzk5MDQ3MnxkMzJlZjI0NC0wNGVjLTQ4MDEtOWI0Yy01NWE1NzIzY2IwYTE=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "score": 10,
    "label": null,
    "description": "Based on your responses, your love of God seems to be accelerating at a rapid pace, fed by the time you invest in personal spiritual practices. You fully embrace the core Christian beliefs, which help you to lean into God’s faithfulness when facing life’s challenges. However, your spiritual maturity as it relates to loving and serving others reflects a spiritual depth more consistent with those who are in the early stages of a walk with Christ. In other words, your love and willingness to serve others seems to be lagging behind your undeniable devotion to God."
  }
}

Get a Domain Score

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/domain_scores/:id

Request

Route

GET /api/domain_scores/2419689640497775836

Response

Simulated Response

Status

403

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "errors": {
    "messages": {
      "base": [
        "forbidden"
      ]
    },
    "details": {
      "base": [
        {
          "error": "forbidden"
        }
      ]
    }
  }
}

Request

Route

GET /api/domain_scores/2419689640497775836

Headers

Authorization: Bearer 8e042f38cf77e749ee3091ed4222b18b
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTY0MDI2Mjg5NDgwN3w5MjEwMzM2Ni1jYzJkLTQxNjktODBmYS01ZWQ2YjdkY2IwMmI=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689640497775836",
    "domain_id": "2419689640321615064",
    "deployment_session_id": "2419689640262894807",
    "result_range_id": "2419689640355169497",
    "score_type": "ordinal",
    "score": "2.1",
    "sum_score": null,
    "mean_score": null,
    "created_at": "2023-02-21T13:51:22.975-07:00",
    "updated_at": "2023-02-21T13:51:22.975-07:00"
  }
}

Get a Scale Score

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/scale_scores/:id

Request

Route

GET /api/scale_scores/2419689621019427987

Headers

Authorization: Bearer 97b9cc19e538155ceefdc3e252d813a8
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTYyMDQyMzgzNjgwOXxkM2YxNDgxZi1jYjBjLTRkM2YtODU2My1hMWRiNDNiNTc2NjE=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419689621019427987",
    "scale_id": "2419689620482557066",
    "assessment_id": "2419689620096681087",
    "deployment_session_id": "2419689620423836809",
    "result_range_id": "2419689620566443147",
    "score_type": "ordinal",
    "score": "2.1",
    "sum_score": "4.1",
    "mean_score": "2.0",
    "created_at": "2023-02-21T13:51:20.653-07:00",
    "updated_at": "2023-02-21T13:51:20.653-07:00"
  }
}

Get a list of Domain Scores for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployment_sessions/:deployment_session_id/domain_scores

Parameters

Name Description Default
domain_id Filter by domain_id. ex. ?domain_id=1 for single value For multiple values use array syntax (?domain_id[]=1&domain_id[]=2) OR send as comma-separated values (?domain_id=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[assessment_id | content_session_id | created_at | deployment_session_id | domain_id | element_id | id | mean_score | normalized_score | percentile_score | score | score_type | sum_score | updated_at]
order Sort order

Request

Route

GET /api/deployment_sessions/2419689633887552699/domain_scores

Headers

Authorization: Bearer 0e290ee591d020a58fae8d2b4f0c8997
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTYzMzg4NzU1MjY5OXxiYThmYmM3YS1jMDU1LTQ3Y2UtYTUwNS02NzQ0NWQyZGQ2ZmE=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689634105656512",
      "domain_id": "2419689633921107132",
      "deployment_session_id": "2419689633887552699",
      "result_range_id": "2419689634004993213",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": null,
      "mean_score": null,
      "created_at": "2023-02-21T13:51:22.214-07:00",
      "updated_at": "2023-02-21T13:51:22.214-07:00"
    },
    {
      "id": "2419689634315371717",
      "domain_id": "2419689634139210945",
      "deployment_session_id": "2419689633887552699",
      "result_range_id": "2419689634172765378",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": null,
      "mean_score": null,
      "created_at": "2023-02-21T13:51:22.238-07:00",
      "updated_at": "2023-02-21T13:51:22.238-07:00"
    },
    {
      "id": "2419689634474755274",
      "domain_id": "2419689634340537542",
      "deployment_session_id": "2419689633887552699",
      "result_range_id": "2419689634374091975",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": null,
      "mean_score": null,
      "created_at": "2023-02-21T13:51:22.257-07:00",
      "updated_at": "2023-02-21T13:51:22.257-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 3
    }
  }
}

Get a list of Scale Scores for a Deployment Session

Authorization: Silicone Application Token X-Silicone-User-Token: Deployment Session auth_token

Endpoint

GET /api/deployment_sessions/:deployment_session_id/scale_scores

Parameters

Name Description Default
scale_id Filter by scale_id. ex. ?scale_id=1 for single value For multiple values use array syntax (?scale_id[]=1&scale_id[]=2) OR send as comma-separated values (?scale_id=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[assessment_id | content_session_id | created_at | deployment_session_id | element_id | id | mean_score | normalized_score | scale_id | score | score_type | sum_score | updated_at]
order Sort order

Request

Route

GET /api/deployment_sessions/2419689627050837154/scale_scores

Headers

Authorization: Bearer 803eaa77bc3edb277922cbcf16523621
X-Silicone-User-Token: RGVwbG95bWVudFNlc3Npb258MjQxOTY4OTYyNzA1MDgzNzE1NHwxYzI0MTNhZS1jMTFhLTQyODQtOTM5Yy0wMmI4MjRkYTYzYjI=
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419689627562542252",
      "scale_id": "2419689627126334627",
      "assessment_id": "2419689626656572568",
      "deployment_session_id": "2419689627050837154",
      "result_range_id": "2419689627159889060",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": "4.1",
      "mean_score": "2.0",
      "created_at": "2023-02-21T13:51:21.434-07:00",
      "updated_at": "2023-02-21T13:51:21.434-07:00"
    },
    {
      "id": "2419689627612873901",
      "scale_id": "2419689627277329574",
      "assessment_id": "2419689626656572568",
      "deployment_session_id": "2419689627050837154",
      "result_range_id": "2419689627369604263",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": "4.1",
      "mean_score": "2.0",
      "created_at": "2023-02-21T13:51:21.439-07:00",
      "updated_at": "2023-02-21T13:51:21.439-07:00"
    },
    {
      "id": "2419689627638039726",
      "scale_id": "2419689627428324521",
      "assessment_id": "2419689626656572568",
      "deployment_session_id": "2419689627050837154",
      "result_range_id": "2419689627512210602",
      "score_type": "ordinal",
      "score": "2.1",
      "sum_score": "4.1",
      "mean_score": "2.0",
      "created_at": "2023-02-21T13:51:21.443-07:00",
      "updated_at": "2023-02-21T13:51:21.443-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 3
    }
  }
}

Sessions

A User or Session is the current authentication and authorization context that this request-response cycle is under.

Get the Current User

Authorization: Firebase JWT

Endpoint

GET /api/users/current

Request

Route

GET /api/users/current

Headers

Authorization: Bearer 4d42b9ab-3b4f-47cb-b85f-55ac9b0bc4dd
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "p7swo0ojfmvitkwm379l44n2x9un",
    "user_id": "2419691022520943683",
    "email": "simon_langworth@armstrong-anderson.net",
    "first_name": "Gena",
    "last_name": "Lastname",
    "organizations": [
      {
        "id": "5a78eb8d-480b-4889-ab38-e0271001585a",
        "name": "Organization 414",
        "vertical": "RECOVERY",
        "org_is_individual": false
      },
      {
        "id": "20deeec4-6f07-4660-b465-756fd7334599",
        "name": "Organization 415",
        "vertical": "RELIGIOUS_OTHER",
        "org_is_individual": false
      }
    ],
    "locations": [

    ],
    "permissions": [
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "5a78eb8d-480b-4889-ab38-e0271001585a"
      },
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "20deeec4-6f07-4660-b465-756fd7334599"
      }
    ]
  }
}

Tags

A tag is an piece of metadata to attach to an object. They are often used in the UI to help the user narrow down their search.

Assign a Tag to a Domain

Authorization: Firebase JWT

Endpoint

POST /api/domains/:domain_id/tags

Parameters

Name Description Type
tag_id ID of the Tag to associate to the Domain integer

Request

Route

POST /api/domains/2419690974437443548/tags

Headers

Authorization: Bearer 38fe5800-ae5c-445f-817c-44f830b9ca39
Accept: application/json
Content-Type: application/json

Body

{
  "tag_id": 2419690974470997981
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Assign a Tag to a Scale

Authorization: Firebase JWT

Endpoint

POST /api/scales/:scale_id/tags

Parameters

Name Description Type
tag_id ID of the Tag to associate to the Scale integer

Request

Route

POST /api/scales/2419690946050393997/tags

Headers

Authorization: Bearer c9cb681f-fe16-4906-8692-a7575a316103
Accept: application/json
Content-Type: application/json

Body

{
  "tag_id": 2419690946075559822
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Assign a Tag to an Item

Authorization: Firebase JWT

Endpoint

POST /api/items/:item_id/tags

Parameters

Name Description Type
tag_id ID of the Tag to associate to the Item integer

Request

Route

POST /api/items/2419690972029913040/tags

Headers

Authorization: Bearer 5693fec4-fb71-41e1-a1ee-fd40e3949cb4
Accept: application/json
Content-Type: application/json

Body

{
  "tag_id": 2419690972071856081
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk assign Tags to a Domain

Authorization: Firebase JWT

Endpoint

POST /api/domains/:domain_id/tags/bulk

Parameters

Name Description Type
tag_ids Array of Tag ids to associate with this Domain. If any tags are currently associated with the Domain but not included in this list, then the association will be removed. array

Request

Route

POST /api/domains/2419690922889447241/tags/bulk

Headers

Authorization: Bearer 510be403-5feb-4823-ab8e-f3a61aa1ccb3
Accept: application/json
Content-Type: application/json

Body

{
  "tag_ids": [
    2419690922763618119,
    2419690922788783944
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk assign Tags to a Scale

Authorization: Firebase JWT

Endpoint

POST /api/scales/:scale_id/tags/bulk

Parameters

Name Description Type
tag_ids Array of Tag ids to associate with this Scale. If any tags are currently associated with the Scale but not included in this list, then the association will be removed. array

Request

Route

POST /api/scales/2419690914047854386/tags/bulk

Headers

Authorization: Bearer 47c518c3-bbd1-4903-9cb9-6552ac7149d4
Accept: application/json
Content-Type: application/json

Body

{
  "tag_ids": [
    2419690913972356912,
    2419690914005911345
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk assign Tags to an Item

Authorization: Firebase JWT

Endpoint

POST /api/items/:item_id/tags/bulk

Parameters

Name Description Type
tag_ids Array of Tag ids to associate with this Item. If any tags are currently associated with the Item but not included in this list, then the association will be removed. array

Request

Route

POST /api/items/2419690932343408480/tags/bulk

Headers

Authorization: Bearer 07af49d5-3f85-4cee-9c53-3bbe37c48f03
Accept: application/json
Content-Type: application/json

Body

{
  "tag_ids": [
    2419690932276299614,
    2419690932309854047
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Bulk assign tags to an assessment. If any tags are currently associated with the Assessment but not included in this list, then the association will be removed.

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/tags/bulk

Parameters

Name Description Type
tag_ids Array of Tag ids to associate with this Assessment array

Request

Route

POST /api/assessments/2419690943374428033/tags/bulk

Headers

Authorization: Bearer 650f1983-ee0d-48e0-8a64-2d86eeefc9ea
Accept: application/json
Content-Type: application/json

Body

{
  "tag_ids": [
    2419690943298930559,
    2419690943332484992
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Get a Tag

Authorization: Firebase JWT

Endpoint

GET /api/tags/:id

Request

Route

GET /api/tags/2419690954237675426

Headers

Authorization: Bearer b4c604ff-d1ed-4503-9815-9aadec79d0b4
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690954237675426",
    "name": "veniam",
    "featured": false,
    "featured_position": null,
    "created_at": "2023-02-21T13:53:59.586-07:00",
    "updated_at": "2023-02-21T13:53:59.586-07:00"
  }
}

Get a list of Tags

Authorization: Firebase JWT

Endpoint

GET /api/tags

Parameters

Name Description Default Type
featured Filter by featured. ex. ?featured=1 for single value For multiple values use array syntax (?featured[]=1&featured[]=2) OR send as comma-separated values (?featured=1,2,3)
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | featured | featured_position | id | name | updated_at]
order Sort order
q Search param to match against Tag name string

Request

Route

GET /api/tags?q=odit

Headers

Authorization: Bearer ea763e88-a65a-486f-8de7-93ad47a0fba7
Accept: application/json
Content-Type: application/json

Query Parameters

q=odit

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690937569511286",
      "name": "odit",
      "featured": false,
      "featured_position": null,
      "created_at": "2023-02-21T13:53:57.600-07:00",
      "updated_at": "2023-02-21T13:53:57.600-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of Tags scoped by an assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/tags

Request

Route

GET /api/assessments/2419690948575365017/tags

Headers

Authorization: Bearer 0e4b7a12-204f-411e-b5ce-c5729ba1a645
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690948499867543",
      "name": "ea",
      "featured": false,
      "featured_position": null,
      "created_at": "2023-02-21T13:53:58.903-07:00",
      "updated_at": "2023-02-21T13:53:58.903-07:00"
    }
  ]
}

Get a list of tags associated with a Domain

Authorization: Firebase JWT

Endpoint

GET /api/domains/:domain_id/tags

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | featured | featured_position | id | name | updated_at]
order Sort order

Request

Route

GET /api/domains/2419690916874815294/tags

Headers

Authorization: Bearer 18b91aaf-c666-4277-aba0-4e13ed0cc3ff
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690916816095036",
      "name": "sint",
      "featured": false,
      "featured_position": null,
      "created_at": "2023-02-21T13:53:55.125-07:00",
      "updated_at": "2023-02-21T13:53:55.125-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of tags associated with a Scale

Authorization: Firebase JWT

Endpoint

GET /api/scales/:scale_id/tags

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | featured | featured_position | id | name | updated_at]
order Sort order

Request

Route

GET /api/scales/2419690925951289173/tags

Headers

Authorization: Bearer 06917cc4-8947-4400-b792-7996950207cc
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690925825460051",
      "name": "esse",
      "featured": false,
      "featured_position": null,
      "created_at": "2023-02-21T13:53:56.200-07:00",
      "updated_at": "2023-02-21T13:53:56.200-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Get a list of tags associated with an Item

Authorization: Firebase JWT

Endpoint

GET /api/items/:item_id/tags

Parameters

Name Description Default
first Pagination page size 25
offset Pagination offset index (inclusive) 0
sort Sort column[created_at | featured | featured_position | id | name | updated_at]
order Sort order

Request

Route

GET /api/items/2419690963154765753/tags

Headers

Authorization: Bearer f425b20f-908f-40a0-9731-9350bfda0a6e
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690963037325239",
      "name": "nemo",
      "featured": false,
      "featured_position": null,
      "created_at": "2023-02-21T13:54:00.636-07:00",
      "updated_at": "2023-02-21T13:54:00.636-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Remove a Tag from a Domain

Authorization: Firebase JWT

Endpoint

DELETE /api/domains/:domain_id/tags/:tag_id

Parameters

Name Description Type
tag_id ID of the Tag to remove from the Domain integer

Request

Route

DELETE /api/domains/2419690935120037740/tags/2419690935145203565

Headers

Authorization: Bearer da5bed88-fbb2-4d55-b58e-90c6f7a1739d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Remove a Tag from a Scale

Authorization: Firebase JWT

Endpoint

DELETE /api/scales/:scale_id/tags/:tag_id

Parameters

Name Description Type
tag_id ID of the Tag to remove from the Scale integer

Request

Route

DELETE /api/scales/2419690960436856749/tags/2419690960470411182

Headers

Authorization: Bearer 749a07a6-aa9f-4869-946d-d1e204db534d
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Remove a Tag from an Item

Authorization: Firebase JWT

Endpoint

DELETE /api/items/:item_id/tags/:tag_id

Parameters

Name Description Type
tag_id ID of the Tag to remove from the Item integer

Request

Route

DELETE /api/items/2419690969337169860/tags/2419690969412667333

Headers

Authorization: Bearer cef38b00-70cf-44cb-9aad-9dd54632b3bf
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

204

Twilio

Twilio/Sendgrid is used in certain features on the backend. This endpoint is exclusively used by Twilio.

Access Code where consented

Endpoint

GET /twilio

Parameters

Name Description Type
Body required The text message body from the User string
From required The User's phone number, formatted by twilio string

Request

Route

GET /twilio?Body=HSNQ&From=%2B7234125039

Query Parameters

Body=HSNQ
From=+7234125039

Response

Simulated Response

Status

200

Headers

Content-Type: application/xml; charset=utf-8

Body

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Message action="http://example.org/twilio/status">Click the link to begin the assessment UNSET/a/RGVwbG95bWVudENvbmZpZ3wyNDE5Njg5NTI0NDgzMzI3OTE4?om=sms&amp;phone=7234125039</Message>
</Response>

Access Code where revoked

Endpoint

GET /twilio

Parameters

Name Description Type
Body required The text message body from the User string
From required The User's phone number, formatted by twilio string

Request

Route

GET /twilio?Body=XDVY&From=%2B5222251618

Query Parameters

Body=XDVY
From=+5222251618

Response

Simulated Response

Status

200

Headers

Content-Type: application/xml; charset=utf-8

Body

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Message action="http://example.org/twilio/status">Reply YES to start the assessment. Msg&amp;data rates may apply. 1-2 msgs per assessment. Reply HELP for help, STOP to cancel.</Message>
</Response>

when MessageStatus failed or undelivered

Endpoint

POST /twilio/status

Parameters

Name Description Type
MessageStatus required The text message status string
MessageSid required The text message twilio ID string

Request

Route

POST /twilio/status

Headers

Content-Type: application/x-www-form-urlencoded

Body

{"MessageStatus":"failed","MessageSid":"messagesid"}

Response

Simulated Response

Status

204

Users

A User is generally the current authentication and authorization context interfacing with this REST API.

Return all users associated with an organization

Requires that the current_user have MANAGE_ORGANIZATION permission for the organization

Endpoint

GET api/organizations/:organization_id/users

Request

Route

GET api/organizations/2419690889452455692/users

Headers

Authorization: Bearer 49693df5-ea9d-435d-9447-e34d5a2acbbc
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "id": "2419690889150465797",
      "email": "garland@krajcik.biz",
      "first_name": "Joline",
      "last_name": "Lastname",
      "created_at": "2023-02-21T13:53:51.827-07:00",
      "updated_at": "2023-02-21T13:53:51.827-07:00"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}

Return the current user

Authorization: Firebase JWT

Endpoint

GET /api/users/current

Request

Route

GET /api/users/current

Headers

Authorization: Bearer d542e44c-51bf-442a-b8f8-71bdfb2dc91f
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2ykmdeqxohiksx2oy1y8sqsku0ng",
    "user_id": "2419690895358035727",
    "email": "nam.rowe@waelchi-bins.info",
    "first_name": "Hugh",
    "last_name": "Lastname",
    "organizations": [
      {
        "id": "c9e6c25e-4b5f-4882-83fb-a339cc1931a5",
        "name": "Organization 355",
        "vertical": "SOCIAL_SERVICE",
        "org_is_individual": false
      },
      {
        "id": "3815d5f1-a412-4da3-8af9-984c89fe82bf",
        "name": "Organization 356",
        "vertical": "FAITH",
        "org_is_individual": false
      },
      {
        "id": "397140b7-55a5-4a90-84ea-7967947843c7",
        "name": "Organization 357",
        "vertical": "FAITH",
        "org_is_individual": false
      }
    ],
    "locations": [
      {
        "id": "360a14a8-87d3-4ecb-9e87-f2df2841addf",
        "organization_id": "397140b7-55a5-4a90-84ea-7967947843c7",
        "name": "Location 52",
        "street": "29854 Leandra Route",
        "city": "New Johnie",
        "state": "MN",
        "postal_code": "19522",
        "is_headquarters": false
      }
    ],
    "permissions": [
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "c9e6c25e-4b5f-4882-83fb-a339cc1931a5"
      },
      {
        "key": "CREATE_DEPLOYMENT",
        "organization_id": "3815d5f1-a412-4da3-8af9-984c89fe82bf"
      },
      {
        "key": "MANAGE_ORGANIZATION",
        "organization_id": "397140b7-55a5-4a90-84ea-7967947843c7"
      }
    ]
  }
}

Update a User

Only the user may update his/her own user record

Endpoint

PATCH /api/users/:id

Parameters

Name Description Type
user[first_name] User first name string
user[last_name] User last name string

Request

Route

PATCH /api/users/2419690902018590492

Headers

Authorization: Bearer a3e22cc2-0c57-44da-8700-7c2673f0e9a2
Accept: application/json
Content-Type: application/json

Body

{
  "user": {
    "first_name": "Darius",
    "last_name": "Farrell"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690902018590492",
    "email": "rene@mosciski.co",
    "first_name": "Darius",
    "last_name": "Farrell",
    "created_at": "2023-02-21T13:53:53.361-07:00",
    "updated_at": "2023-02-21T13:53:53.407-07:00"
  }
}

Updates a User first/last name from name param

User first/last name can be inferred from single name parameter

Endpoint

PATCH /api/users/:id

Parameters

Name Description Type
user[first_name] User first name string
user[last_name] User last name string

Request

Route

PATCH /api/users/2419690907991279395

Headers

Authorization: Bearer 2efdfca5-d8cb-4d99-94f2-1603beba2005
Accept: application/json
Content-Type: application/json

Body

{
  "user": {
    "name": "Sang Fisher"
  }
}

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": {
    "id": "2419690907991279395",
    "email": "merry_frami@nikolaus.net",
    "first_name": "Sang",
    "last_name": "Fisher",
    "created_at": "2023-02-21T13:53:54.073-07:00",
    "updated_at": "2023-02-21T13:53:54.115-07:00"
  }
}

Vertical Access Grants

A Vertical in our system is a certain focus an Organization may take, like Faith or Recovery. Some lenses of our API enable data to be returned focused on 1 or more Verticals, for example sharing an Assessment with a particular Vertical.

Bulk assign verticals to an assessment

Authorization: Firebase JWT

Endpoint

POST /api/assessments/:assessment_id/vertical_access_grants/bulk

Parameters

Name Description Type
vertical_keys Array of Verticals that are allowed access to an Assessment array

Request

Route

POST /api/assessments/2419689575939048458/vertical_access_grants/bulk

Headers

Authorization: Bearer ff1a93d3-7ce5-4a7d-a9ea-9f8dfa0e361e
Accept: application/json
Content-Type: application/json

Body

{
  "vertical_keys": [
    "FAITH",
    "RECOVERY"
  ]
}

Response

Simulated Response

Status

201

Headers

Content-Type: application/json

Get a list of Vertical Access Grants for an Assessment

Authorization: Firebase JWT

Endpoint

GET /api/assessments/:assessment_id/vertical_access_grants

Request

Route

GET /api/assessments/2419689578464019475/vertical_access_grants

Headers

Authorization: Bearer 90f685c7-87a2-44d4-b996-afc59af71375
Accept: application/json
Content-Type: application/json

Response

Simulated Response

Status

200

Headers

Content-Type: application/json; charset=utf-8

Body

{
  "data": [
    {
      "vertical_key": "OTHER"
    }
  ],
  "meta": {
    "paging": {
      "first": 25,
      "offset": 0,
      "total_count": 1
    }
  }
}