### API Overview: Chainels API Source: https://www.chainels.com/openapi.bundle.json # Introduction This is the documentation for all the API endpoints. You can read more about our API (getting started, authentication, etc) on our [developer page](https://www.chainels.com/developer). # Authentication We use the OAuth 2.0 protocol to authenticate requests. Check out [our documentation on OAuth](https://www.chainels.com/developer/oauth) to find out how you can get an access token. There we describe the _Authorization Code_ and _Group Token_ grant (both are labeled `oauth_code` here) and the _Client Credential_ grant (labeled `oauth_client` here) ```yaml # Chainels API # Version: 2.1.0 # Introduction This is the documentation for all the API endpoints. You can read more about our API (getting started, authentication, etc) on our [developer page](https://www.chainels.com/developer). # Authentication We use the OAuth 2.0 protocol to authenticate requests. Check out [our documentation on OAuth](https://www.chainels.com/developer/oauth) to find out how you can get an access token. There we describe the _Authorization Code_ and _Group Token_ grant (both are labeled `oauth_code` here) and the _Client Credential_ grant (labeled `oauth_client` here) # Base URL: https://www.chainels.com/api/v2 ``` -------------------------------- ### GET /companies/{community_id}/targets Source: https://www.chainels.com/openapi.bundle.json Groups are collections of companies and accounts. These groups (QuickLists) can be used for a variety of purposes withing Chainels, for example message, or directory can be targeted at a group. This endpoint shows which groups (QuickLists) exist in this community and are available to view for the authenticated user. ```markdown ### Parameters - **community_id** (string, path, required): The community id - **include** (array (string), query, optional): A query parameter with which you can specify which optional subresources to include. This differs per object. See the [API documentation](/developer/subresources) for more information. ### Responses #### 200 - An array of QuickLists - Array of QuickList #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X GET "https://www.chainels.com/api/v2/companies/{community_id}/targets?include=item1,item2" ``` ``` -------------------------------- ### Schema: QuickList Source: https://www.chainels.com/openapi.bundle.json A QuickList is a data structure that represents a group of companies. This object is often refered to as "targets" or "group" ```markdown ## Schema: QuickList A QuickList is a data structure that represents a group of companies. This object is often refered to as "targets" or "group" **Type:** object - **id** (string) (required): The identifier of this quicklist. It always consists of a prefix, followed by as suffix, which could be an actual numeric id, or a default quicklist. - **name** (string) (required): The name of the quicklist (example: "Members") - **description** (string): An optional description of the quicklist - **community_id** (string) (required): The id of the community this quicklist belongs to (example: "111452251766177138") - **is_private** (boolean) (required): If this quicklist is private (only the creator of the quicklist can see the the name and description) - **is_default** (boolean) (required): Whether this quicklist is a default generated quicklist - **is_favorite** (boolean,null): Whether this quicklist is added to the favorite group list of this community - **count** (integer) (required): The number of companies in this quicklist (example: 14) - **account_count** (integer) (required): The number of unique users (accounts) in this quicklist (example: 14) - **entity_counts** (object) (required): The counts for each entity type in this quicklist. - **community** (integer) - **company** (integer) - **household** (integer): Note this is only included if the community has households enabled - **companies** (array,null): This property is deprecated. To get the companies/households of a Quicklist, use the member search endpoint with the quicklist id as filter. - **accounts** (array,null): This property is deprecated. To get the accounts of a Quicklist, use the member search endpoint with the quicklist id as filter. - **image** (object): Common meta data for resources (files and directories) - **id** (unknown) (required): The unique identifier of this file (example: "82ee231e-1f2c-4ae0-bf2f-ebaa3da78b30") - **name** (unknown) (required): The name of the file. (example: "Notulen.pdf") - **created_at** (string (date-time)) (required): The time this file was created - **resource_type** (unknown) (required) ("File") - **company** (object) - **id** (string): Entity id (example: "111375950990297673") - **created_at** (string (date-time)): The date this entity was created. Note this does not necessarily correspond to the date the entity became a member of a community. - **name** (string): The name of the entity (example: "Mall of Holland") - **address_line** (string): The street + number + unit of this entity (city and country not included). See `address` for the full address details (example: "Stationsplein 25 A") - **logo_resource** (object): Common meta data for resources (files and directories) - **logo_resource_square** (object): Common meta data for resources (files and directories) - **last_edited** (string,null): The time of the last mutation of the entity profile. Note, this property is only present when explicitly including it via the `include` query parameter - **entity_type** (string (community|company|household|service_provider)): What kind of entity this object represents ("community"|"company"|"household"|"service_provider") - **account** (object) - **id** (string) (required): Account id (example: "121435772735378979") - **name** (string) (required): The full name of this account (example: "Erwin Buckers") - **first_name** (string) (required): The first name of this account (example: "Erwin") - **last_name** (string) (required): The last name of this account (example: "Buckers") - **email** (string): The email address of the account (example: "buckersexample@chainels.com") - **locale** (string) (required): The user locale (example: "nl_NL") - **timezone** (string) (required): The timezone desired by the user (example: "Europe/Amsterdam") - **contact** (object) (required): Contact information. Can be included in a company or an account. - **phone** (string,null): When included in an account it is the personal phone number of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "015-3642667") - **website** (string,null) (example: "https://www.mallofholland.com") - **is_webshop** (boolean): Whether the website also functions as a webshop - **email** (string,null): When included in a company, the public email address of this company. _Not_ (neccerarily) the email of the Chainels account. When included in an account it is the personal mail of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "info@mallofholland.com") - **remark** (string,null): An optional text with a remark regarding the contact information (example: "Only call for emergencies") - **social_media** (object): A collection of social media links - **facebook** (object): A link to a social media platform - **url** (string (url)): The url to the profile page. It is a full valid url, and always includes the host. (example: "https://www.facebook.com/chainels") - **twitter** (object): A link to a social media platform - **instagram** (object): A link to a social media platform - **linkedin** (object): A link to a social media platform - **youtube** (object): A link to a social media platform - **function** (string,null): The function of this account. If the account has multiple companies, this value depends on the context. For example, when part of a message object, this function belongs to the company which is also in the message object. Or, when making a call to get the accounts of a company, the function relates to that company. (example: "Security Officer") - **functions** (array (EntityFunction)) (required): Listing of all the functions this account has at each of its entities Array items: - **company_id** (string): A company id (example: "111375950990297673") - **function** (string): The function of a user at this entity (example: "Marketing") - **rights** (string (manager|user|spectator)) (required): The rights of a user for an entity. ("manager"|"user"|"spectator") - **visibility** (string (public|community|private)) (required): The visibility of this account for the current active entity ("public"|"community"|"private") - **companies** (array (Entity)): The entities this account has access to. Array items: - **communities** (array (Entity)): The communities this account is a member of. Only present when explicitly requested with the `include` parameter. Array items: - **image** (object): Common meta data for resources (files and directories) - **roles** (array,null): Listing of all the roles this account has at each of its companies. Only present when explicitly requested with the `include` parameter. - **privacy** (array (PrivacySetting)) Array items: - **field** (string (email|phone)) (required) ("email"|"phone") - **is_hidden** (boolean) (required): Whether this field is hidden or not - **auth_methods** (array (object)) Array items: - **type** (string (password|oidc)) ("password"|"oidc") - **issuer_name** (string,null): If the auth method type is oidc, this is the issuer name. - **size** (integer) (required): The size in Bytes of this file (example: 20495) - **mime_type** (string) (required): The mime type of the file. For example image/png or application/pdf (example: "application/pdf") - **url** (string (url)) (required): The public url to view this file - **resized_url** (string (url)): If the file is an image, the url to a *medium* resized version of the image - **resized_url_large** (string (url)): If the file is an image, the url to a *large* resized version of the image (longest side twice as large as medium) - **resized_url_small** (string (url)): If the file is an image, the url to a *small* resized version of the image (longest side twice as small as medium) - **poster_url** (string (url)): If the file is a video, the url to a *medium* sized thumbnail(image) of the video - **poster_url_large** (string (url)): If the file is a video, the url to a *large* sized thumbnail(image) of the video (longest side twice as large as medium) - **poster_url_small** (string (url)): If the file is a video, the url to a *small* sized thumbnail(image) of the video (longest side twice as small as medium) ``` -------------------------------- ### Schema: CreateDiscount Source: https://www.chainels.com/openapi.bundle.json Request body to create a discount. ```markdown ## Schema: CreateDiscount Request body to create a discount. **Type:** object - **id** (string): The id of the discount (example: "561435772735378137") - **service_id** (string): The id of the service this discount is in (example: "451611159303191151") - **from_member** (object) - **id** (string): Entity id (example: "111375950990297673") - **created_at** (string (date-time)): The date this entity was created. Note this does not necessarily correspond to the date the entity became a member of a community. - **name** (string): The name of the entity (example: "Mall of Holland") - **address_line** (string): The street + number + unit of this entity (city and country not included). See `address` for the full address details (example: "Stationsplein 25 A") - **logo_resource** (object): Common meta data for resources (files and directories) - **id** (unknown) (required): The unique identifier of this file (example: "82ee231e-1f2c-4ae0-bf2f-ebaa3da78b30") - **name** (unknown) (required): The name of the file. (example: "Notulen.pdf") - **created_at** (string (date-time)) (required): The time this file was created - **resource_type** (unknown) (required) ("File") - **company** (object) - **account** (object) - **id** (string) (required): Account id (example: "121435772735378979") - **name** (string) (required): The full name of this account (example: "Erwin Buckers") - **first_name** (string) (required): The first name of this account (example: "Erwin") - **last_name** (string) (required): The last name of this account (example: "Buckers") - **email** (string): The email address of the account (example: "buckersexample@chainels.com") - **locale** (string) (required): The user locale (example: "nl_NL") - **timezone** (string) (required): The timezone desired by the user (example: "Europe/Amsterdam") - **contact** (object) (required): Contact information. Can be included in a company or an account. - **phone** (string,null): When included in an account it is the personal phone number of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "015-3642667") - **website** (string,null) (example: "https://www.mallofholland.com") - **is_webshop** (boolean): Whether the website also functions as a webshop - **email** (string,null): When included in a company, the public email address of this company. _Not_ (neccerarily) the email of the Chainels account. When included in an account it is the personal mail of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "info@mallofholland.com") - **remark** (string,null): An optional text with a remark regarding the contact information (example: "Only call for emergencies") - **social_media** (object): A collection of social media links - **facebook** (object): A link to a social media platform - **url** (string (url)): The url to the profile page. It is a full valid url, and always includes the host. (example: "https://www.facebook.com/chainels") - **twitter** (object): A link to a social media platform - **instagram** (object): A link to a social media platform - **linkedin** (object): A link to a social media platform - **youtube** (object): A link to a social media platform - **function** (string,null): The function of this account. If the account has multiple companies, this value depends on the context. For example, when part of a message object, this function belongs to the company which is also in the message object. Or, when making a call to get the accounts of a company, the function relates to that company. (example: "Security Officer") - **functions** (array (EntityFunction)) (required): Listing of all the functions this account has at each of its entities Array items: - **company_id** (string): A company id (example: "111375950990297673") - **function** (string): The function of a user at this entity (example: "Marketing") - **rights** (string (manager|user|spectator)) (required): The rights of a user for an entity. ("manager"|"user"|"spectator") - **visibility** (string (public|community|private)) (required): The visibility of this account for the current active entity ("public"|"community"|"private") - **companies** (array (Entity)): The entities this account has access to. Array items: - **communities** (array (Entity)): The communities this account is a member of. Only present when explicitly requested with the `include` parameter. Array items: - **image** (object): Common meta data for resources (files and directories) - **roles** (array,null): Listing of all the roles this account has at each of its companies. Only present when explicitly requested with the `include` parameter. - **privacy** (array (PrivacySetting)) Array items: - **field** (string (email|phone)) (required) ("email"|"phone") - **is_hidden** (boolean) (required): Whether this field is hidden or not - **auth_methods** (array (object)) Array items: - **type** (string (password|oidc)) ("password"|"oidc") - **issuer_name** (string,null): If the auth method type is oidc, this is the issuer name. - **size** (integer) (required): The size in Bytes of this file (example: 20495) - **mime_type** (string) (required): The mime type of the file. For example image/png or application/pdf (example: "application/pdf") - **url** (string (url)) (required): The public url to view this file - **resized_url** (string (url)): If the file is an image, the url to a *medium* resized version of the image - **resized_url_large** (string (url)): If the file is an image, the url to a *large* resized version of the image (longest side twice as large as medium) - **resized_url_small** (string (url)): If the file is an image, the url to a *small* resized version of the image (longest side twice as small as medium) - **poster_url** (string (url)): If the file is a video, the url to a *medium* sized thumbnail(image) of the video - **poster_url_large** (string (url)): If the file is a video, the url to a *large* sized thumbnail(image) of the video (longest side twice as large as medium) - **poster_url_small** (string (url)): If the file is a video, the url to a *small* sized thumbnail(image) of the video (longest side twice as small as medium) - **logo_resource_square** (object): Common meta data for resources (files and directories) - **last_edited** (string,null): The time of the last mutation of the entity profile. Note, this property is only present when explicitly including it via the `include` query parameter - **entity_type** (string (community|company|household|service_provider)): What kind of entity this object represents ("community"|"company"|"household"|"service_provider") - **from_member_id** (string): The ID of the member that is the owner of the discount (example: "111375950990297673") - **created_at** (string (date-time)): The time this discount was created - **expiration_date** (string,null): The time this discount is expired, null if it has no expiration date - **title** (string) (required): The title of the discount, which normally contains the discount information (example: "10%") - **description** (string) (required): A short text describing the discount of the discount (example: "Short description of the discount") - **terms** (string,null): A short text explaining the terms that apply to this discount (example: "sit amet, consectetur adipiscing elit. Mauris metus velit, imperdiet vehicula pharetra quis, vestibulum id massa") - **favorite_count** (integer): The number of users that added this discount to their favorite list - **is_favorite** (boolean): True if the discount is a favorite of the authenticated user - **is_new** (boolean): True if the discount is new - **filled_in_by_account** (object) - **filled_in_by_entity** (object) - **url** (string (url)): The url where the discount can be found/viewed in the platform ``` -------------------------------- ### GET /companies/{community_id}/turnover/companies/{entity_id}/schemes Source: https://www.chainels.com/openapi.bundle.json Get the turnover schemes in which the given company is enrolled in. Note that membership of a company in a turnover scheme is time dependent, since companies can be removed and added to a scheme, per period. For example a company can be in scheme A in February, but he can be removed for March. By default this endpoint returns the schemes the company is enrolled in for the current *ongoing* period, which is sufficient for the most common use cases. But you can adjust this by specifying a different point in time with the `time` query parameter. ```markdown ### Parameters - **community_id** (string, path, required): The community id - **entity_id** (string, path, required): The entity id - **time** (integer (int64), query, optional): Specify for which point in time you want to get the schemes of the company. By default, the current time is used. - **include** (array (string), query, optional): A query parameter with which you can specify which optional subresources to include. This differs per object. See the [API documentation](/developer/subresources) for more information. ### Responses #### 200 - An array of TurnoverScheme objects. - Array of TurnoverScheme #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X GET "https://www.chainels.com/api/v2/companies/{community_id}/turnover/companies/{entity_id}/schemes?time=0&include=item1,item2" ``` ``` -------------------------------- ### POST /companies/{entity_id}/drive/upload Source: https://www.chainels.com/openapi.bundle.json Upload a file to your drive. Note, thumbnails for messages are generated asynchronously, for this reason, the `resized_url` of the returned `File` is null. You can retrieve the resource at a later time to get the resized url. ```markdown ### Parameters - **entity_id** (string, path, required): The entity id ### Request Body **Content-Type:** multipart/form-data ### Responses #### 201 - Created **File** - **id** (unknown) (required): The unique identifier of this file (example: "82ee231e-1f2c-4ae0-bf2f-ebaa3da78b30") - **name** (unknown) (required): The name of the file. (example: "Notulen.pdf") - **created_at** (string (date-time)) (required): The time this file was created - **resource_type** (unknown) (required) ("File") - **company** (object) - **id** (string): Entity id (example: "111375950990297673") - **created_at** (string (date-time)): The date this entity was created. Note this does not necessarily correspond to the date the entity became a member of a community. - **name** (string): The name of the entity (example: "Mall of Holland") - **address_line** (string): The street + number + unit of this entity (city and country not included). See `address` for the full address details (example: "Stationsplein 25 A") - **logo_resource** (object): Common meta data for resources (files and directories) - **logo_resource_square** (object): Common meta data for resources (files and directories) - **last_edited** (string,null): The time of the last mutation of the entity profile. Note, this property is only present when explicitly including it via the `include` query parameter - **entity_type** (string (community|company|household|service_provider)): What kind of entity this object represents ("community"|"company"|"household"|"service_provider") - **account** (object) - **id** (string) (required): Account id (example: "121435772735378979") - **name** (string) (required): The full name of this account (example: "Erwin Buckers") - **first_name** (string) (required): The first name of this account (example: "Erwin") - **last_name** (string) (required): The last name of this account (example: "Buckers") - **email** (string): The email address of the account (example: "buckersexample@chainels.com") - **locale** (string) (required): The user locale (example: "nl_NL") - **timezone** (string) (required): The timezone desired by the user (example: "Europe/Amsterdam") - **contact** (object) (required): Contact information. Can be included in a company or an account. - **phone** (string,null): When included in an account it is the personal phone number of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "015-3642667") - **website** (string,null) (example: "https://www.mallofholland.com") - **is_webshop** (boolean): Whether the website also functions as a webshop - **email** (string,null): When included in a company, the public email address of this company. _Not_ (neccerarily) the email of the Chainels account. When included in an account it is the personal mail of the user. It might be empty based on the privacy settings of the user and the authenticated API user. (example: "info@mallofholland.com") - **remark** (string,null): An optional text with a remark regarding the contact information (example: "Only call for emergencies") - **social_media** (object): A collection of social media links - **facebook** (object): A link to a social media platform - **url** (string (url)): The url to the profile page. It is a full valid url, and always includes the host. (example: "https://www.facebook.com/chainels") - **twitter** (object): A link to a social media platform - **instagram** (object): A link to a social media platform - **linkedin** (object): A link to a social media platform - **youtube** (object): A link to a social media platform - **function** (string,null): The function of this account. If the account has multiple companies, this value depends on the context. For example, when part of a message object, this function belongs to the company which is also in the message object. Or, when making a call to get the accounts of a company, the function relates to that company. (example: "Security Officer") - **functions** (array (EntityFunction)) (required): Listing of all the functions this account has at each of its entities Array items: - **company_id** (string): A company id (example: "111375950990297673") - **function** (string): The function of a user at this entity (example: "Marketing") - **rights** (string (manager|user|spectator)) (required): The rights of a user for an entity. ("manager"|"user"|"spectator") - **visibility** (string (public|community|private)) (required): The visibility of this account for the current active entity ("public"|"community"|"private") - **companies** (array (Entity)): The entities this account has access to. Array items: - **communities** (array (Entity)): The communities this account is a member of. Only present when explicitly requested with the `include` parameter. Array items: - **image** (object): Common meta data for resources (files and directories) - **roles** (array,null): Listing of all the roles this account has at each of its companies. Only present when explicitly requested with the `include` parameter. - **privacy** (array (PrivacySetting)) Array items: - **field** (string (email|phone)) (required) ("email"|"phone") - **is_hidden** (boolean) (required): Whether this field is hidden or not - **auth_methods** (array (object)) Array items: - **type** (string (password|oidc)) ("password"|"oidc") - **issuer_name** (string,null): If the auth method type is oidc, this is the issuer name. - **size** (integer) (required): The size in Bytes of this file (example: 20495) - **mime_type** (string) (required): The mime type of the file. For example image/png or application/pdf (example: "application/pdf") - **url** (string (url)) (required): The public url to view this file - **resized_url** (string (url)): If the file is an image, the url to a *medium* resized version of the image - **resized_url_large** (string (url)): If the file is an image, the url to a *large* resized version of the image (longest side twice as large as medium) - **resized_url_small** (string (url)): If the file is an image, the url to a *small* resized version of the image (longest side twice as small as medium) - **poster_url** (string (url)): If the file is a video, the url to a *medium* sized thumbnail(image) of the video - **poster_url_large** (string (url)): If the file is a video, the url to a *large* sized thumbnail(image) of the video (longest side twice as large as medium) - **poster_url_small** (string (url)): If the file is a video, the url to a *small* sized thumbnail(image) of the video (longest side twice as small as medium) #### 400 - response **BadRequestError** - **error** (string): The error type (a short string) - **message** (string): The description of the error - **errors** (array (object)): An optional array with more detailed errors, for example validation errors. Array items: - **property** (string): The property where validation failed - **message** (string): The validation error of this property #### 403 - response **ForbiddenError** - **error** (string) (required): The error type (a short string) (example: "error_code") - **message** (string) (required): The descciption of the error (example: "Description of the error") - **allowed_companies** (array,null): In case other active companies of the account *can* access the requested resource, this list provides all the possible companies which have the correct permissions that the account can switch to. #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X POST "https://www.chainels.com/api/v2/companies/{entity_id}/drive/upload" \ -H "Content-Type: application/json" \ -d '"value"' ``` ``` -------------------------------- ### GET /reporting/{service_id}/members/{entity_id}/schemes Source: https://www.chainels.com/openapi.bundle.json Get the periodic reporting schemes in which the given member is enrolled in. Note that membership of a member in a scheme is time dependent, since members can be removed and added to a scheme, per period. For example a member can be in scheme A in February, but he can be removed for March. By default this endpoint returns the schemes the member is enrolled in for the current *ongoing* period, which is sufficient for the most common use cases. But you can adjust this by specifying a different point in time with the `time` query parameter. ```markdown ### Parameters - **service_id** (string, path, required): The id of the service - **entity_id** (string, path, required): The entity id - **time** (integer (int64), query, optional): Specify for which point in time you want to get the schemes of the member. By default, the current time is used. - **include** (array (string), query, optional): A query parameter with which you can specify which optional subresources to include. This differs per object. See the [API documentation](/developer/subresources) for more information. ### Responses #### 200 - An array of PeriodicReportingScheme objects. - Array of PeriodicReportingScheme #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X GET "https://www.chainels.com/api/v2/reporting/{service_id}/members/{entity_id}/schemes?time=0&include=item1,item2" ``` ``` -------------------------------- ### GET /companies/{community_id}/turnover/schemes Source: https://www.chainels.com/openapi.bundle.json Get the turnover schemes defined in a community, filtered for the authenticated user. This means that a service admin will get all turnover schemes, but a member will only get the schemes he is allowed to see. ```markdown ### Parameters - **community_id** (string, path, required): The community id - **include** (array (string), query, optional): A query parameter with which you can specify which optional subresources to include. This differs per object. See the [API documentation](/developer/subresources) for more information. ### Responses #### 200 - An array of TurnoverScheme objects. - Array of TurnoverScheme #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X GET "https://www.chainels.com/api/v2/companies/{community_id}/turnover/schemes?include=item1,item2" ``` ``` -------------------------------- ### Schema: UtilityQuestion Source: https://www.chainels.com/openapi.bundle.json Schema definition for UtilityQuestion ```markdown ## Schema: UtilityQuestion Schema definition for UtilityQuestion **Type:** object - **id** (string): The unique identifier of the question (example: "381435772748536821") - **question_type** (string (UtilityQuestion)) (required) ("UtilityQuestion") - **question** (string) (required): The actual question (example: "How satisfied are you with recent changes") - **explanation** (string,null): An optional longer description/explanation of the question (example: "Please answer the question in a concise way") - **is_required** (boolean): If this question is required to be filled in by the user - **unit** (string): the string of the unit (example: "kWh") - **utility_type** (string (electricity|gas|water)): the type of utility question ("electricity"|"gas"|"water") ``` -------------------------------- ### GET /reporting/{service_id}/schemes Source: https://www.chainels.com/openapi.bundle.json Get the periodic reporting schemes defined in a community, filtered for the authenticated user. This means that a service admin will get all schemes, but a member will only get the schemes he is allowed to see. ```markdown ### Parameters - **service_id** (string, path, required): The id of the service - **include** (array (string), query, optional): A query parameter with which you can specify which optional subresources to include. This differs per object. See the [API documentation](/developer/subresources) for more information. ### Responses #### 200 - An array of PeriodicReportingScheme objects. - Array of TurnoverScheme #### 404 - response **HttpError** - **error** (string): The error type (a short string) (example: "error_code") - **message** (string): The description of the error (example: "Description of the error") ### Example Usage ```bash curl -X GET "https://www.chainels.com/api/v2/reporting/{service_id}/schemes?include=item1,item2" ``` ```