This library provides a simple REST client for retrieving data from Contrast Team Server's REST API as plain old C# objects.
This library is also provided as a nuget package: https://www.nuget.org/packages/ContrastRestClient/.
Please see http://www.contrastsecurity.com for more information about how Contrast can help secure your applications.
The 3.X line of packages has a few changes from the 2.X line that you might need to address in your code. You may need to reload your .sln file if you've worked with the package in the 2.X line.
- Muti-Targeted
netstandard2.0
andnet45
. - Namespace changed from
contrast_rest_dotnet
toContrast
. - Removed the method
TeamServerClient.CheckForTrace
. - Renamed
TeamServerClient
toClient
. - Removed deprecated
Endpoints
class. - Renamed the following symbols:
AgentType.Java1_5 -> AgentType.Java15
Client.GetApplicationTraceFilterSubfilters -> Client.GetApplicationTraceFilterSubFilters
Client.GetServerTraceFilterSubfilters -> Client.GetServerTraceFilterSubFilters
ContrastRestClient.PostApplicatonSpecificMessage -> ContrastRestClient.PostApplicationSpecificMessage
IContrastRestClient.PostApplicatonSpecificMessage -> IContrastRestClient.PostApplicationSpecificMessage
LineFragment.value -> LineFragment.Value
ContrastApplication.AppID -> ContrastApplication.AppId
ContrastApplication.Stauts -> ContrastApplication.Status
Organization.name -> Organization.Name
Organization.shortname -> Organization.ShortName
Organization.timezone -> Organization.Timezone
Organization.organization_uuid -> Organization.OrganizationId
Organization.AppsOnboarded -> Organization.AppsOnBoarded
Organization.IsSuperadmin -> Organization.IsSuperAdmin
Organization.Superadmin -> Organization.SuperAdmin
OrganizationResponse.success -> OrganizationResponse.Organizations
OrganizationResponse.count -> OrganizationResponse.Count
OrganizationResponse.org_disabled -> OrganizationResponse.OrganizationDisabled
DefaultOrganizationResponse.org_disabled -> DefaultOrganizationResponse.Success
DefaultOrganizationResponse.messages -> DefaultOrganizationResponse.Messages
DefaultOrganizationResponse.organization -> DefaultOrganizationResponse.Organization
DefaultOrganizationResponse.roles -> DefaultOrganizationResponse.Roles
DefaultOrganizationResponse.enterprise -> DefaultOrganizationResponse.Enterprise
Trace.Uuid -> Trace.Id
TraceNote.CreatorUUID -> TraceNote.CreatorId
TraceNote.LastUpdaterUUID -> TraceNote.LastUpdaterId
TraceBreakdown.Confirmed -> TraceBreakdown.ConfirmedVulnerabilities
TraceBreakdown.Criticals -> TraceBreakdown.CriticalVulnerabilities
TraceBreakdown.Fixed -> TraceBreakdown.FixedVulnerabilities
TraceBreakdown.HighVulns -> TraceBreakdown.HighVulnerabilities
TraceBreakdown.LowVulns -> TraceBreakdown.LowVulnerabilities
TraceBreakdown.Mediums -> TraceBreakdown.MediumVulnerabilities
TraceBreakdown.NoProblemVulns -> TraceBreakdown.NoProblemVulnerabilities
TraceBreakdown.notes -> TraceBreakdown.Notes
TraceBreakdown.SafeVulns -> TraceBreakdown.SafeVulnerabilities
TraceStatus.CONFIRMED_STATUS -> TraceStatus.Confirmed
TraceStatus.SUSPICIOUS_STATUS -> TraceStatus.Suspicious
TraceStatus.NOT_A_PROBLEM_STATUS -> TraceStatus.NotAProblem
TraceStatus.REMEDIATED_STATUS -> TraceStatus.Remediated
TraceStatus.REPORTED_STATUS -> TraceStatus.Reported
TraceStatus.FIXED_STATUS -> TraceStatus.Fixed
TraceMarkStatusRequest.Substatus -> TraceMarkStatusRequest.SubStatus
To access the API, you'll first need access Contrast (https://app.contrastsecurity.com/Contrast/login.html) or an on-premises installation of Contrast.
Your API credentials can be found by following these steps:
- Log in to Contrast
- Click the down arrow next to your login name in the page header
- Click on "Your Account"
- Your API credentials will be listed under "YOUR KEYS"
More API documentation can be found here: https://support.contrastsecurity.com/entries/24184140-Accessing-the-API
The SampleContrastClient uses the App.config to store API credentials. To use the sample application, copy the API values from above into the appropriate appSettings entries:
<appSettings>
<add key="TeamServerUrl" value="https://app.contrastsecurity.com/Contrast/"/>
<add key="TeamServerUserName" value=""/>
<add key="TeamServerApiKey" value=""/>
<add key="TeamServerServiceKey" value=""/>
</appSettings>