Yoobic Campaigns API
A campaign is the main structure used to send tasks to frontline teams and collect data about how they execute them. It is essentially a configurable form with instructions and fields (checklists, buttons, photos, open text, etc.) that users fill in from the field. They are used for many operational needs like audits, promotions, checklists, surveys, health and safety monitoring, and other day-to-day activities.There are 4 different types of campaigns available in YOOBIC:- Quick task- Memo- Form- WorkflowArchived campaigns are visible in the [campaigns_archive](#group-campaigns_archive) table.### Fields| Field | Type | Required | Readonly | OrderBy | Description ||----------------------|:-----------:|:--------:|:----------:|:-------:|---------------------------||`campaign_id` | string | x | x | | Unique id of the campaign ||`title` | string | x | | | The campaign title ||`description` | string | | | | The campaign description ||`type` | string | x | | | The campaign type (mission, service, todo, poll, lesson, visit) ||`group_ids` | array | x | | | Group ids that can see this campaign ||`user_ids` | array | | | | User ids that can see this campaign ||`tags` | array | | | | The list of tags ||`scoring` | boolean | | | | true if scoring is enabled for missions from this campaign, false otherwise | |`recurring` | boolean | | | | true if this campaign is recurring, false if it is a one-off campaign | |`active` | boolean | | x | | true if campaign is neither paused nor archived | |`archived` | boolean | | x | | true if campaign is paused | |`icon_url` | string | | | | `_downloadURL` of a File or a `url` of a Photo. Icon size recommendation is 100px X 100px. ||`background_url` | string | | | | `_downloadURL` of a File or a `url` of a Photo. ||`page_titles` | array | | | | An ordered list of page titles i.e. first title is the first page title etc. ||`questions` | array | | | | The campaign's questions ||`created_date` | date | | x | | Creation date ||`updated_date` | date | | x | x | Last update date |The `questions` field is defined as an array of:| Field | Type | Description ||----------------------|----------------|---------------------------||`question_id` | string | Unique id of the question ||`question_type` | string | The type of the question. Supported types: `text`, `textarea`, `toggle`, `checkbox`, `information`, `todo`, `photo`, `multiphotos`, `selectbuttons`, `select`, `selectmulti`, `address`, `date`, `number`, `starrating`, `image`. ||`question` | string | The title of the question ||`question_description`| string | The description of the question ||`mandatory` | boolean | If `true`, the question has to be answered. Defaults to `false` ||`page_number` | number | The number of the page the question appears in ||`question_number` | number | The number of the question ||`hide_mobile` | boolean | Hide the question on mobile devices. Defaults to `false`. ||`question_attributes` | object | Question attributes for specific question types.|The `question_attributes` field is defined as an object with the following fields:| Field | Type | Description ||----------------------|----------------|---------------------------||`max_photos` | number | Maximum of allowed photos to upload. Applies only to questions of type `multiphotos`. ||`values` | array | Values to be displayed as options to choose from in the question. Applies only to questions of type `selectbuttons`, `select`, `selectmulti`. ||`min` | number | If present, value must be above or including it. Applies only to questions of type `number`. ||`max` | number | If present, value must be below or including it. Applies only to questions of type `number`, `starrating`. |#### Question Types**Important** Below is a list of the supported types and their value types:| question_type | Type | Description ||---------------|:--------------:|-------------|| address | string | || date | string | || information | string | || select | string | Single value chosen from the `values` defined in `question_attributes` || textarea | string | || text | string | || photo | URL | A valid image URL || multiphotos | array of URLs | Valid image URLs and up to `max_photos` defined in `question_attributes` || selectbuttons | array | Multiple values chosen from the `values` defined in `question_attributes` || selectmulti | array | Multiple values chosen from the `values` defined in `question_attributes` || number | number | Might have min, max borders as defined in `question_attributes` || starrating | number | Might have max border as defined in `question_attributes`. No negatives allowed. || checkbox | boolean | || toggle | boolean | || image | | This is a readonly property (informative) which does not have a value. |**Important**- If `page_titles` does not have a title for a given page then a default will be given - So i.e. if the values are - ```json[ "first chapter", "second chapter" ]``` and there are three pages in total, then the title for the third page will be `Page 3`.- To filter on `live` campaigns only you should filter accordingly: ```json{ "active": true, "archived": { "neq": true } }```
Yoobic Campaigns API is one of 41 APIs that Yoobic publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Campaigns. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a changelog.
This API exposes 15 operations across 12 paths, and defines 1 schema. It is described by OpenAPI 3.0.0.
Requests are made against a single base URL, https://.
Metadata
The identity and technical contract details declared by the specification.
Authentication & Security 1
Yoobic Campaigns API declares
1 security scheme
for authenticating requests.
It supports OAuth 2.0 (oauth2) using the authorizationCode flow.
Paths & Operations 15
Across 12 paths, the API surfaces 15 operations — 2 DELETE, 5 GET, 1 PATCH, 5 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.
A campaign is the main structure used to send tasks to frontline teams and collect data about how they execute them. It is essentially a configurable form with instructions and fi…
Schemas 1
The contract defines 1 schema that model the data the API accepts and returns. The most detailed is Default_Header (1 property). Each schema is shown below with its type and property counts.
Specification
The full machine-readable OpenAPI contract behind this narrative.
Source
More from Yoobic 12
Other APIs Yoobic publishes across the network.