PUT /api/tenants/{FedmemberID}/repositoryconfig

Updates the Lifecycle Repository configuration for the specified tenant.

This operation is used in a scenario where Lifecycle Repository is in use; the extended properties and workflow are enabled for the tenant. In most cases it's invoked internally by Lifecycle Coordinator to configure the repository library associated with the tenant (mainly to set up the RuntimeConfiguration assets). It takes a RepositoryConfiguration object which contains an EnvironmentConfiguration (the same structure that shows up in the topology definition) as well as the defined filters for the library.

 

For more information about these elements, and examples, refer to these sections of the Lifecycle Coordinator Promotion Guide:

Authorization Roles/Permissions: Must have Modify permission for the tenant; Site Admin

This topic includes the following sections:

HTTP Method

PUT

URL

https://{hostname}/api/tenants/{FedmemberID}/repositoryconfig

Sample Request

The example below shows a request to update the Lifecycle Repository information for tenant3.

Sample Request URL

https://{hostname}/api/tenants/tenant3/repositoryconfig

Sample request headers

Content-Type: application/json
Accept: application/json
X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...

Sample request body

{
  "filters":[
    {
      "name":"internal",
      "classifier-criteria":[
        {
          "classifier-name":"internal",
          "values":[
            {
              "value":"true"
            }
          ]
        }
      ]
    },
    {
      "name":"external",
      "classifier-criteria":[
        {
          "classifier-name":"internal",
          "values":[
            {
              "value":"false"
            }
          ]
        }
      ]
    }
  ],
  "apiImplementationProfiles":[
    {
      "name":"Internal API Profile",
      "type":"Live",
      "filterNames":[
        "internal"
      ],
      "deploymentZones":[
        "DZ9941"
      ],
      "virtualServicePolicies":[
        {
          "policyName":"DetailedAuditing"
        }
      ],
      "virtualHost":"InternalHost.com",
      "path":"/"
    },
    {
      "name":"External API Profile",
      "type":"Live",
      "filterNames":[
        "external"
      ],
      "deploymentZones":[
        "DZ9942"
      ],
      "virtualHost":"ExternalHost.com",
      "path":"/"
    }
  ]
}

Request Headers

For general information on request header values, refer to HTTP Request Headers.

Header Description
Accept application/json
Content-Type application/json, application/vnd.soa.v84+json
Cookie AtmoAuthToken_{fedmemberid}={cookie value, which usually starts with TokenID}—The platform cookie. This is the Akana API Platform authorization token, and must be sent with every API request that requires login. For more information and an example, see Session cookies.
X-Csrf-Token_{fedmemberID} The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform. By default, the CSRF header is not required for GET operations and is required for all others, with a few exceptions relating to user login.

Request Parameters

Parameter Parm Type Data Type Required Description
FedmemberID Path String Required Unique ID for a specific tenant. Same as TenantID.
RepositoryConfiguration Body RepositoryConfiguration Required Contains information about the repository configuration for the tenant; a collection of AssetFilters and an EnvironmentConfiguration.

Response

If successful, this operation returns HTTP status code 200, with the updated repository configuration.

Sample Response

The sample response below shows successful completion of this operation.

Sample response headers

Status Code: 200 OK
Content-Type: application/json

Sample response body

{
  "filters":[
    {
      "name":"internal",
      "classifier-criteria":[
        {
          "classifier-name":"internal",
          "values":[
            {
              "value":"true"
            }
          ]
        }
      ]
    },
    {
      "name":"external",
      "classifier-criteria":[
        {
          "classifier-name":"internal",
          "values":[
            {
              "value":"false"
            }
          ]
        }
      ]
    }
  ],
  "apiImplementationProfiles":[
    {
      "name":"Internal API Profile",
      "type":"Live",
      "filterNames":[
        "internal"
      ],
      "deploymentZones":[
        "DZ9941"
      ],
      "virtualServicePolicies":[
        {
          "policyName":"DetailedAuditing"
        }
      ],
      "virtualHost":"InternalHost.com",
      "path":"/"
    },
    {
      "name":"External API Profile",
      "type":"Live",
      "filterNames":[
        "external"
      ],
      "deploymentZones":[
        "DZ9942"
      ],
      "virtualHost":"ExternalHost.com",
      "path":"/"
    }
  ]
}

Response Headers

For general information on response header values, refer to HTTP Response Headers.

Header Description
Content-Type application/json

Response Body

Name Type Description
RepositoryConfiguration RepositoryConfiguration

Contains information about the repository configuration for the tenant; a collection of AssetFilters and an EnvironmentConfiguration.

The response returns the updated configuration.

Error Codes/Messages

If the call is unsuccessful an error code/message is returned. One or more examples of possible errors for this operation are shown below.

Item Value
401 Unauthorized. For example, you would get this response if you didn't include the custom X-Csrf-Token_{fedmemberID} header in the request, when it was required by the platform settings; or if you included an invalid or expired value for this header. You would also get this response for any operation that requires login (almost all) if the login cookie was missing.
500 An error occurred processing the call.

More information about Akana API Platform API error messages.