Update organizations access =========================== Updates a list of organizations and related access for a specific users. Prerequisites ^^^^^^^^^^^^^ - Credentials as described in :doc:`/getting-started/authentication` - An organization identifier - An User identifier C# ^^ To update organizations access for specific to users, first create an instance of **CrayonApiClient** and get the token using **CrayonApiClient** instance. Then call **OrganizationAccess.Update()** method to update the organizations access for specific to users by passing token. .. code-block:: c# :emphasize-lines: 6 var organizationAccessList = new List { new OrganizationAccess { Id = 1, AllAgreements = false, Agreements = new List { new AgreementAccess { HasAccess = true, Agreement = new Agreement { Id = 1, Organization = null, Name = "My agreement", SalesPriceCurrencyCode = "EUR", StartDate = new DateTimeOffset(new DateTime(2010, 4, 6, 14, 15, 0, DateTimeKind.Utc)), EndDate = new DateTimeOffset(new DateTime(2019, 4, 6, 14, 15, 0, DateTimeKind.Utc)), Disabled = false, Publisher = new ObjectReference { Id = 2, Name = "Microsoft" }, Program = new ObjectReference { Id = 3, Name = "SPLA" }, Number = "111111", CustomerNumber = "123456", MasterAgreement = "654321", HasTerms = false } } }, Organization = new Organization { Id = 3, Name = "My organization AB" }, User = null, Role = OrganizationAccessRole.Administrator, CrayonCompanyName = "Crayon AB", Timestamp = DateTimeOffset.MinValue }, new OrganizationAccess { Id = 2, AllAgreements = true, Agreements = new List { new AgreementAccess { HasAccess = false, Agreement = new Agreement { Id = 2, Organization = null, Name = "Another agreement", SalesPriceCurrencyCode = "USD", StartDate = new DateTimeOffset(new DateTime(2020, 1, 1, 0, 0, 0, DateTimeKind.Utc)), EndDate = new DateTimeOffset(new DateTime(2025, 1, 1, 0, 0, 0, DateTimeKind.Utc)), Disabled = true, Publisher = new ObjectReference { Id = 4, Name = "Adobe" }, Program = new ObjectReference { Id = 5, Name = "Creative Cloud" }, Number = "222222", CustomerNumber = "789012", MasterAgreement = "987654", HasTerms = true } } }, Organization = new Organization { Id = 4, Name = "Another organization AB" }, User = null, Role = OrganizationAccessRole.Viewer, CrayonCompanyName = "Crayon AB", Timestamp = new DateTimeOffset(new DateTime(2025, 4, 7, 0, 0, 0, DateTimeKind.Utc)) } }; var client = new CrayonApiClient("https://api.crayon.com/"); var token = client.Tokens.GetUserToken(clientId, clientSecret, userName, password).GetData().AccessToken; var result = client.OrganizationAccess.Update(token, organizationAccessList); Request ^^^^^^^ Request Syntax: +---------+----------------------------------------------------------+ | Method | Request URI | +=========+==========================================================+ | PUT | *https://api.crayon.com/api/v1/organizationaccess/* | +---------+----------------------------------------------------------+ Request Body: +-------------------+------------------------------------------+--------------------------------------------+ | Name | Type | Description | +===================+==========================================+============================================+ | OrganizationAccess| :doc:`/resources/OrganizationAccess` | List of organizations access to update | +-------------------+------------------------------------------+--------------------------------------------+ Request Headers: The following HTTP request headers are supported +------------------+----------------+-----------------------------------------------------------------+ | Header | Type | Description | +==================+================+=================================================================+ | Authorization | string | Required. The authorization token in the form Bearer . | +------------------+----------------+----------------------------------------------+------------------+ | Accept | string | Specifies the request and response type, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ | Content-Type | string | Specifies the media type of the resource, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ Request Example: :: PUT $"/api/v1/organizationaccess/grant/?userId={userId}&organizatioId={organizationId}" Accept : application/json Content-Type: application/json Authorization : Bearer < Token > Response ^^^^^^^^ If successful, this method returns a :doc:`/resources/OrganizationAccessCollection` in the response body. .. literalinclude:: /resources/_static/OrganizationAccessCollection.json :language: json Response success and error codes: Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Error Codes | Description | +================================+===========================================================================================================================================================================================================================================================================================+ | 200 Ok | The request has succeeded. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 401 Unauthorized | The request requires user authentication. If the request already included Authorization credentials, then the 401 (Unauthorized) status code means that authorization has been refused for those credentials. It is a non-retryable error condition. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+