External APIs - analysis

An analysis of the SBL external API forward compatibility with Altinn Studio Apps.

#956

An analysis of the SBL external API forward compatibility with Altinn Studio Apps.

Legend

Icon Status
βœ… No changes needed, will work as before.
πŸ”’ Needs to handle ServiceCode / ServiceEditionCode.
πŸ†” Identifiers will change.
πŸ‘½ Not part of the Altinn Studio concept, so this API can’t be used.
⛔️ Not relevant or will be replaced by something better.

REST

Token

βœ… POST authorization/token/{authCode}/loguse

πŸ›ˆ

βœ… GET authorization/token/{authCode}

πŸ›ˆ

βœ… DELETE authorization/token/{authCode}

πŸ›ˆ


RoleDefinitions

πŸ”’ GET {who}/authorization/RoleDefinitions/{roleTypeID}?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

βœ… DELETE {who}/authorization/RoleDefinitions/{roleTypeID}

πŸ›ˆ

πŸ”’ PUT {who}/authorization/RoleDefinitions/{roleTypeID}?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

πŸ”’ GET {who}/authorization/RoleDefinitions?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

πŸ”’ POST {who}/authorization/RoleDefinitions?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.


Rights

πŸ”’ GET {who}/authorization/rights

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

βœ… DELETE {who}/authorization/rights/{rightID}

πŸ›ˆ

βœ… DELETE {who}/authorization/Rights/{receiverId}/rights/{authzRuleID}?rightID={rightID}

πŸ›ˆ


Roles

βœ… GET {who}/authorization/roles?language={language}

πŸ›ˆ

βœ… DELETE {who}/authorization/roles/{roleID}

πŸ›ˆ


Reportee

βœ… GET reportees?showConsentReportees={showConsentReportees}&includeInactiveReportees={includeInactiveReportees}

πŸ›ˆ

βœ… GET reportees/{reporteeId}

πŸ›ˆ

πŸ”’ GET reportees?serviceCode={serviceCode}&serviceEdition={serviceEdition}&showConsentReportees={showConsentReportees}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of the input parameters.

βœ… GET {who}/authorization/Reportee/{receiverId}?reporteeId={reporteeId}

πŸ›ˆ


Authentication

βœ… POST authentication/authenticatewithpassword

πŸ›ˆ


Profile

βœ… GET my/profile

πŸ›ˆ

βœ… GET {orgno}/profile

πŸ›ˆ

βœ… GET {orgno}/profile/contactinformation

πŸ›ˆ

βœ… POST {orgno}/profile/contactinformation

πŸ›ˆ

βœ… GET {orgno}/profile/contactinformation/{id}

πŸ›ˆ

βœ… DELETE {orgno}/profile/contactinformation/{id}

πŸ›ˆ


LookUp

πŸ”’ πŸ‘½ GET {who}/lookup/{serviceCode}/{serviceEdition}?authorizationCode={authorizationCode}

πŸ›ˆ “LookUp” is not a concept in Altinn Studio, since all apps can provide APIs directly themselves. This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of the input parameters.


Metadata

πŸ”’ GET metadata?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of metadata-list.

βœ… GET metadata/correspondence/{serviceCode}/{serviceEditionCode}?language={language}

πŸ›ˆ “Correspondence” will live on, so this API is not relevant for Altinn Studio.

πŸ”’ πŸ‘½ GET metadata/formtask/{serviceCode}/{serviceEditionCode}?language={language}

πŸ›ˆ “FormTask” is not a concept in Altinn Studio, since all apps can provide forms. This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of input parameters and the returned metadata-list.

πŸ”’ πŸ‘½ GET metadata/lookup/{serviceCode}/{serviceEditionCode}?language={language}

πŸ›ˆ “LookUp” is not a concept in Altinn Studio, since all apps can provide APIs directly themselves. This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of input parameters and the returned metadata-list.

πŸ”’ πŸ‘½ GET metadata/formtask/{serviceCode}/{serviceEditionCode}/forms/{dataFormatId}/{dataFormatVersion}/xsd

πŸ›ˆ “FormTask” is not a concept in Altinn Studio, since all apps can provide forms and data models. This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of input parameters.

πŸ”’ πŸ‘½ GET metadata/lookup/{serviceCode}/{serviceEditionCode}/schemas/{schema}

πŸ›ˆ “LookUp” is not a concept in Altinn Studio, since all apps can provide APIs directly themselves. This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of input parameters.

πŸ”’ πŸ‘½ GET metadata/formtask/{serviceCode}/{serviceEditionCode}/attachmentrules/{ruleId}/xsd

πŸ›ˆ “FormTask” is not a concept in Altinn Studio, since all apps can provide metadata and data models (XSDs). This API can’t be used. Also, ServiceCode/ServiceEditionCode is part of input parameters.

⛔️ GET metadata/codelists?language={language}

πŸ›ˆ Altinn Studio will provide a better solution (and APIs) for code lists.

⛔️ GET metadata/codelists/{name}/{version}?language={language}

πŸ›ˆ Altinn Studio will provide a better solution (and APIs) for code lists.


Organizations

βœ… GET s?showConsentReportees={showConsentReportees}&includeInactiveReportees={includeInactiveReportees}

πŸ›ˆ

βœ… GET organizations/{organizationId}

πŸ›ˆ


Attachments

πŸ†” POST {who}/messages/{messageId}/attachments/streamedattachment?fileName={fileName}&attachmentType={attachmentType}&language={language}

πŸ›ˆ MessageId will probably change to GUID.

πŸ†” DELETE {who}/messages/{messageId}/attachments/{attachmentId}

πŸ›ˆ MessageId and attachmentId will probably change to GUID.

πŸ†” POST {who}/messages/{messageId}/attachments/{attachmentId}?language={language}

πŸ›ˆ MessageId and attachmentId will probably change to GUID.

πŸ†” POST {who}/messages/{messageId}/attachments/{attachmentId}?fileName={fileName}&attachmentType={attachmentType}&language={language}

πŸ›ˆ MessageId and attachmentId will probably change to GUID.

πŸ†” GET {who}/messages/{messageId}/attachments

πŸ›ˆ MessageId will probably change to GUID.

πŸ†” POST {who}/messages/{messageId}/attachments?language={language}

πŸ›ˆ MessageId will probably change to GUID.

πŸ†” GET {who}/authorization/Attachments/{receiverId}?messageId={messageId}&attachmentId={attachmentId}

πŸ›ˆ MessageId and attachmentId will probably change to GUID.


Messages

πŸ†” πŸ”’ GET {who}/Messages/{messageId}?language={language}

πŸ›ˆ MessageId will probably change to GUID. Message contains ServiceCode/ServiceEditionCode.

πŸ†” πŸ”’ πŸ‘½ PUT {who}/Messages/{messageId}?language={language}&complete={complete}&sign={sign}

πŸ›ˆ MessageId will probably change to GUID. Message contains ServiceCode/ServiceEditionCode.
MainForm/SubForm is not part of Altinn Studio concept. Same with DataFormatId/DataFormatVersion.

πŸ†” DELETE {who}/Messages/{messageId}

πŸ›ˆ MessageId will probably change to GUID.

πŸ†” πŸ”’ GET {who}/Messages?language={language}

πŸ›ˆ MessageId will probably change to GUID. Message contains ServiceCode/ServiceEditionCode.

πŸ”’ πŸ‘½ POST {who}/Messages?language={language}&complete={complete}&sign={sign}

πŸ›ˆ Message contains ServiceCode/ServiceEditionCode.
MainForm/SubForm is not part of Altinn Studio concept. Same with DataFormatId/DataFormatVersion.

πŸ†” πŸ‘½ GET {who}/Messages/{messageId}/Print?language={language}&dataFormatId={dataFormatId}&dataFormatVersion={dataFormatVersion}

πŸ›ˆ MessageId will probably change to GUID.
DataFormatId/DataFormatVersion is not part of Altinn Studio concept.

βœ… PUT {who}/Messages/{messageId}/Archive?language={language}

πŸ›ˆ

βœ… PUT {who}/Messages/{messageId}/Confirm?language={language}

πŸ›ˆ

πŸ†” GET {who}/Messages/{messageId}/Validate?language={language}

πŸ›ˆ MessageId will probably change to GUID.

πŸ†” πŸ‘½ GET {who}/Messages/{messageId}/signingtext?language={language}

πŸ›ˆ MessageId will probably change to GUID.
Workflow metadata must be much more powerful and less hardcoded for Altinn Studio.

πŸ†” πŸ‘½ GET {who}/messages/{messageId}/custommessagedata

πŸ›ˆ MessageId will probably change to GUID.
Workflow metadata must be much more powerful and less hardcoded for Altinn Studio.

πŸ”’ GET {who}/Messages/trashbin?language={language}

πŸ›ˆ Message contains ServiceCode/ServiceEditionCode.


Forms

πŸ†” πŸ‘½ GET {who}/messages/{messageId}/forms?language={language}

πŸ›ˆ MessageId will probably change to GUID.
DataFormatId/DataFormatVersion and MainForm/SubForm is not part of Altinn Studio concept.

πŸ†” πŸ‘½ POST {who}/messages/{messageId}/forms

πŸ›ˆ MessageId will probably change to GUID.
DataFormatId/DataFormatVersion and MainForm/SubForm is not part of Altinn Studio concept.

πŸ†” πŸ‘½ GET {who}/messages/{messageId}/forms/{formId}?language={language}

πŸ›ˆ MessageId and formId will probably change to GUID.
DataFormatId/DataFormatVersion and MainForm/SubForm is not part of Altinn Studio concept.

πŸ†” πŸ‘½ PUT {who}/messages/{messageId}/forms/{formId}

πŸ›ˆ MessageId and formId will probably change to GUID.
DataFormatId/DataFormatVersion and MainForm/SubForm is not part of Altinn Studio concept.

πŸ†” DELETE {who}/messages/{messageId}/forms/{formId}

πŸ›ˆ MessageId and formId will probably change to GUID.

πŸ†” GET {who}/messages/{messageId}/forms/{formId}/formdata?language={language}

πŸ›ˆ MessageId and formId will probably change to GUID.


Delegations

πŸ”’ GET {who}/authorization/Delegations/{receiverId}/rights

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

βœ… GET {who}/authorization/Delegations/{receiverId}/roles?language={language}

πŸ›ˆ

πŸ”’ GET {who}/authorization/Delegations/{receiverId}?language={language}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

πŸ”’ GET {who}/authorization/Delegations?serviceCode={serviceCode}&serviceEdition={serviceEdition}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of input parameters and the returned rights-list.

πŸ”’ POST {who}/authorization/Delegations

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

πŸ”’ GET {who}/authorization/Delegations?receiverId={receiverId}

πŸ›ˆ ServiceCode/ServiceEditionCode is part of Rights-list.

βœ… DELETE {who}/authorization/Delegations?receiverId={receiverId}&roleId={roleId}

πŸ›ˆ

βœ… DELETE {who}/authorization/Delegations?receiverId={receiverId}&authzRuleId={authzRuleId}

πŸ›ˆ

βœ… DELETE {who}/authorization/Delegations/{receiverId}/roles/{roleId}

πŸ›ˆ

βœ… DELETE {who}/authorization/Delegations/{receiverId}/rights/{authzRuleId}

πŸ›ˆ


BrokerService

βœ… GET {reportee}/BrokerService/files/{fileReference}

πŸ›ˆ

Web Services

TODO