1

does SharePoint Online have a rest api to declare an item as a record? I will use it in MS Flow

Thanks Maurizio

0

There is not a REST API to achieve it, as a workaround, we can create a Azure Function with CSOM(Microsoft.SharePoint.Client.RecordsRepository.Records namespace can help to declare/undeclare item as record) to achieve it.

Refer to: How to call SharePoint from Microsoft Flow with the help of an Azure Function

Or we can create a separate library with Automatic Declaration (under Record declaration settings) and copying there the documents, so they are automatically set as record.

Here is a discussion for your reference: SharePoint Action to 'Declare as Record'

| improve this answer | |
0

I know this is old but with SharePoint 2010 workflows going away, I thought someone else may need this. This is the same call that CSOM would make.

When a HTTP Request is received.

Schema:
{
    "type": "object",
    "properties": {
        "web": {
            "type": "string"
        },
        "list": {
            "type": "string"
        },
        "item": {
            "type": "integer"
        }
    }
}

Then Send an HTTP request to SharePoint.

Site Address: @{triggerBody()?['web']}
Method: POST
Uri: _api/contextinfo
Headers: 
    Accept: application/json; odata=nometadata

Then Send an HTTP request to SharePoint.

Site Address: @{triggerBody()?['web']}
Method: POST
Uri: _vti_bin/client.svc/ProcessQuery
Headers: 
    Content-Type: application/xml
    X-RequestDigest: @{body('Send_an_HTTP_request_to_SharePoint')?['FormDigestValue']}
Body: 
    <Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009">
      <Actions>
        <ObjectPath Id="2" ObjectPathId="1" />
        <ObjectPath Id="4" ObjectPathId="3" />
        <ObjectPath Id="6" ObjectPathId="5" />
        <ObjectPath Id="8" ObjectPathId="7" />
        <ObjectIdentityQuery Id="9" ObjectPathId="7" />
        <ObjectPath Id="11" ObjectPathId="10" />
        <StaticMethod TypeId="{ea8e1356-5910-4e69-bc05-d0c30ed657fc}" Name="DeclareItemAsRecord" Id="12">
          <Parameters>
            <Parameter ObjectPathId="10" />
          </Parameters>
        </StaticMethod>
      </Actions>
      <ObjectPaths>
        <StaticProperty Id="1" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" />
        <Property Id="3" ParentId="1" Name="Web" />
        <Property Id="5" ParentId="3" Name="Lists" />
        <Method Id="7" ParentId="5" Name="GetByTitle">
          <Parameters>
            <Parameter Type="String">@{triggerBody()?['list']}</Parameter>
          </Parameters>
        </Method>
        <Method Id="10" ParentId="7" Name="GetItemById">
          <Parameters>
            <Parameter Type="Int32">@{triggerBody()?['item']}</Parameter>
          </Parameters>
        </Method>
      </ObjectPaths>
    </Request>
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.