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