@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Snyk API
@base https://api.snyk.io/v1
@version 1.0
@auth ApiKey Authorization in header
@endpoints 100
@hint download_for_search
@toc user(6), group(8), orgs(1), org(60), test(17), monitor(1), reporting(7)

@group user
@endpoint GET /user/{userId}
@desc Get User Details
@required {userId: str # The users ID. The `API_KEY` must have admin access to at least one group or organization where the requested user is a member and must have the `api` entitlement on their preferred organization.}
@returns(200)
@errors {400: The provided `id` is not in a valid format., 401: `API_KEY` is invalid., 404: The requested user could not be found or caller does not have sufficient permissions.}

@endpoint GET /user/me
@desc Get My Details
@returns(200)
@errors {401: `API_KEY` is invalid.}

@endpoint GET /user/me/notification-settings/org/{orgId}
@desc Get organization notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization.}
@returns(200)

@endpoint PUT /user/me/notification-settings/org/{orgId}
@desc Modify organization notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization.}
@returns(200)
@example_request {"new-issues-remediations":{"enabled":true,"issueSeverity":"high","issueType":"vuln"},"project-imported":{"enabled":true},"test-limit":{"enabled":true},"weekly-report":{"enabled":true},"request-updates":{"enabled":true},"pending-requests":{"enabled":true}}

@endpoint GET /user/me/notification-settings/org/{orgId}/project/{projectId}
@desc Get project notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to return notification settings for.}
@returns(200)

@endpoint PUT /user/me/notification-settings/org/{orgId}/project/{projectId}
@desc Modify project notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to return notification settings for.}
@returns(200)
@example_request {"new-issues-remediations":{"enabled":true,"issueSeverity":"high","issueType":"vuln"}}

@endgroup

@group group
@endpoint GET /group/{groupId}/settings
@desc View group settings
@required {groupId: str # The group ID. The `API_KEY` must have admin access to this group.}
@returns(200) {requestAccess: any, sessionLength: num}

@endpoint PUT /group/{groupId}/settings
@desc Update group settings
@required {groupId: str # The group ID. The `API_KEY` must have admin access to this group.}
@returns(200)
@example_request {"sessionLength":50,"requestAccess":{"enabled":true}}

@endpoint GET /group/{groupId}/members
@desc List all members in a group
@required {groupId: str # The group ID. The `API_KEY` must have access admin to this group.}
@returns(200)

@endpoint POST /group/{groupId}/org/{orgId}/members
@desc Add a member to an organization within a group
@required {groupId: str # The group ID. The `API_KEY` must have access admin to this group., orgId: str # The organization ID we want to add the member to. The `API_KEY` must have access to this organization.}
@returns(200)
@example_request {"userId":"","role":""}

@endpoint GET /group/{groupId}/tags
@desc List all tags in a group
@required {groupId: str # The group ID. The `API_KEY` must have access admin to this group.}
@optional {perPage: num(double) # The number of results to return (the default is 1000)., page: num(double) # The offset from which to start returning results from.}
@returns(200)

@endpoint POST /group/{groupId}/tags/delete
@desc Delete tag from group
@required {groupId: str # The group ID. The `API_KEY` must have access admin to this group.}
@returns(200)
@example_request {"key":"","value":"","force":false}

@endpoint GET /group/{groupId}/orgs
@desc List all organizations in a group
@required {groupId: str # The group ID. The `API_KEY` must have READ access to this group and LIST organizations access in this group.}
@optional {perPage: num(double) # The number of results to return (maximum is 100)., page: num(double) # For pagination - offset (from which to start returning results)., name: str # Only organizations that have a name that **starts with** this value (case insensitive) will be returned.}
@returns(200)

@endpoint GET /group/{groupId}/roles
@desc List all roles in a group
@required {groupId: str # The group ID. The `API_KEY` must have READ access to this group.}
@returns(200)

@endgroup

@group orgs
@endpoint GET /orgs
@desc List all the organizations a user belongs to
@returns(200) {orgs: [map]}

@endgroup

@group org
@endpoint POST /org
@desc Create a new organization
@returns(201)
@errors {400: A group of errors that happened in the process of creating a new organization and were unexpected, 401: Authorization errors., 422: A group of errors that show input errors about the parameters provided in the request.}
@example_request {"name":"new-org","groupId":"4a18d42f-0706-4ad0-b127-24078731fbed","sourceOrgId":"6b4a3261-b68f-43a0-9218-1f082e77f879"}

@endpoint GET /org/{orgId}/notification-settings
@desc Get organization notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization.}
@returns(200)

@endpoint PUT /org/{orgId}/notification-settings
@desc Set notification settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization.}
@returns(200)
@example_request {"new-issues-remediations":{"enabled":true,"issueSeverity":"high","issueType":"vuln"},"project-imported":{"enabled":true},"test-limit":{"enabled":true},"weekly-report":{"enabled":true},"request-updates":{"enabled":true},"pending-requests":{"enabled":true}}

@endpoint POST /org/{orgId}/invite
@desc Invite users
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization.}
@returns(200)
@example_request {"email":""}

@endpoint GET /org/{orgId}/members
@desc List Members
@required {orgId: str # The organization ID.}
@optional {includeGroupAdmins: bool # Include group administrators who also have access to this organization.}
@returns(200)

@endpoint GET /org/{orgId}/settings
@desc View organization settings
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization.}
@returns(200)

@endpoint PUT /org/{orgId}/settings
@desc Update organization settings
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization.}
@returns(200)
@errors {403: If provided a setting that the `API_KEY` has no edit permission for.}
@example_request "+ Attributes (Org settings request)"

@endpoint PUT /org/{orgId}/members/{userId}
@desc Update a member in the organization
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., userId: str # The user ID.}
@returns(200)
@example_request {"role":""}

@endpoint DELETE /org/{orgId}/members/{userId}
@desc Remove a member from the organization
@required {orgId: str # The organization ID. The `API_KEY` must admin have access to this organization., userId: str # The user ID we want to remove.}
@returns(200)

@endpoint PUT /org/{orgId}/members/update/{userId}
@desc Update a member's role in the organization
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., userId: str # The user ID.}
@returns(200)
@example_request {"rolePublicId":""}

@endpoint DELETE /org/{orgId}
@desc Remove organization
@required {orgId: str # The organization ID. The `API_KEY` must have permission to delete the provided organization. Currently this operation is only supported for organizations without any projects.}
@returns(204)

@endpoint POST /org/{orgId}/provision
@desc Provision a user to the organization
@required {orgId: str # The organization ID. The `API_KEY` must not exceed the permissions being granted to the provisioned user., email: str # The email of the user.}
@optional {rolePublicId: str # ID of the role to grant this user., role: str # Deprecated. Name of the role to grant this user. Must be one of `ADMIN`, `COLLABORATOR`, or `RESTRICTED_COLLABORATOR`. This field is invalid if `rolePublicId` is supplied with the request.}
@returns(200) {email: str, role: str, rolePublicId: str, created: str}
@errors {403: Provided `API_KEY` has no user provision permission or does not have permissions in role being provisioned.}

@endpoint GET /org/{orgId}/provision
@desc List pending user provisions
@required {orgId: str # The organization ID.}
@returns(200)
@errors {403: Provided `API_KEY` has no user provision permission or does not have permissions in role being provisioned.}

@endpoint DELETE /org/{orgId}/provision
@desc Delete pending user provision
@required {orgId: str # The organization ID.}
@returns(200) {ok: bool}
@errors {403: Provided `API_KEY` has no user provision permission or does not have permissions in role being provisioned.}

@endpoint GET /org/{orgId}/integrations
@desc List
@required {orgId: str # The organization public ID. The `API_KEY` must have admin access to this organization.}
@returns(200) {github: str, gitlab: str, bitbucket-cloud: str}

@endpoint POST /org/{orgId}/integrations
@desc Add new integration
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization.}
@returns(200) {id: str}

@endpoint PUT /org/{orgId}/integrations/{integrationId}
@desc Update existing integration
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., integrationId: str # The unique identifier for the configured integration. This can be found on the [Integration page in the Settings area](https://app.snyk.io/manage/integrations) for all integrations that have been configured.}
@returns(200)
@example_request {"type":"github","broker":{"enabled":true}}

@endpoint DELETE /org/{orgId}/integrations/{integrationId}/authentication
@desc Delete credentials
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., integrationId: str # The integration ID.}
@returns(200)

@endpoint POST /org/{orgId}/integrations/{integrationId}/authentication/provision-token
@desc Provision new broker token
@required {orgId: str # The `API_KEY` must have access to this organization., integrationId: str}
@returns(200) {id: str, provisionalBrokerToken: str}

@endpoint POST /org/{orgId}/integrations/{integrationId}/authentication/switch-token
@desc Switch between broker tokens
@required {orgId: str # The `API_KEY` must have access to this organization., integrationId: str}
@returns(200)

@endpoint POST /org/{orgId}/integrations/{integrationId}/clone
@desc Clone an integration (with settings and credentials)
@required {orgId: str # Source organization public ID to clone integration settings from. The `API_KEY` must have access to this organization., integrationId: str # Source integration public ID to clone., destinationOrgPublicId: str # The organization public ID. The `API_KEY` must have access to this organization.}
@returns(200) {newIntegrationId: str}
@example_request {"destinationOrgPublicId":"9a3e5d90-b782-468a-a042-9a2073736f0b1"}

@endpoint GET /org/{orgId}/integrations/{type}
@desc Get existing integration by type
@required {orgId: str # The `API_KEY` must have admin access to this organization., type: str # Integration type.}
@returns(200) {id: str}

@endpoint GET /org/{orgId}/integrations/{integrationId}/settings
@desc Get Integration Settings
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., integrationId: str # The unique identifier for the configured integration. This can be found on the [Integration page in the Settings area](https://app.snyk.io/manage/integrations) for all integrations that have been configured.}
@returns(200) {autoDepUpgradeLimit: num, autoDepUpgradeIgnoredDependencies: [str], autoDepUpgradeEnabled: bool, autoDepUpgradeMinAge: num, pullRequestFailOnAnyVulns: bool, pullRequestFailOnlyForHighSeverity: bool, pullRequestTestCodeEnabled: bool, pullRequestTestCodeSeverity: str, pullRequestTestEnabled: bool, pullRequestAssignment: str, autoRemediationPrs: any, manualRemediationPrs: any, dockerfileSCMEnabled: bool}

@endpoint PUT /org/{orgId}/integrations/{integrationId}/settings
@desc Update Integration Settings
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., integrationId: str # The unique identifier for the configured integration. This can be found on the [Integration page in the Settings area](https://app.snyk.io/manage/integrations) for all integrations that have been configured.}
@optional {autoDepUpgradeLimit: num # A limit on how many automatic dependency upgrade PRs can be opened simultaneously, autoDepUpgradeIgnoredDependencies: [str] # A list of strings defining what dependencies should be ignored, autoDepUpgradeEnabled: bool # Defines if the functionality is enabled, autoDepUpgradeMinAge: num # The age (in days) that an automatic dependency check is valid for, pullRequestFailOnAnyVulns: bool # If an opened PR should fail to be validated if any vulnerable dependencies have been detected, pullRequestFailOnlyForHighSeverity: bool # If an opened PR only should fail its validation if any dependencies are marked as being of high severity, pullRequestTestCodeEnabled: bool # If opened PRs should be tested with Snyk Code, pullRequestTestCodeSeverity: str # Snyk severity for this issue. One of: `low`, `medium`, `high`, or `null`., pullRequestTestEnabled: bool # If opened PRs should be tested, pullRequestAssignment: str # assign Snyk pull requests, autoRemediationPrs: any, manualRemediationPrs: any, dockerfileSCMEnabled: bool # If true, will automatically detect and scan Dockerfiles in your Git repositories, surface base image vulnerabilities and recommend possible fixes}
@returns(200) {autoDepUpgradeLimit: num, autoDepUpgradeIgnoredDependencies: [str], autoDepUpgradeEnabled: bool, autoDepUpgradeMinAge: num, pullRequestFailOnAnyVulns: bool, pullRequestFailOnlyForHighSeverity: bool, pullRequestTestCodeEnabled: bool, pullRequestTestCodeSeverity: str, pullRequestTestEnabled: bool, pullRequestAssignment: str, autoRemediationPrs: any, manualRemediationPrs: any, dockerfileSCMEnabled: bool}
@example_request {"autoDepUpgradeLimit":2,"autoDepUpgradeIgnoredDependencies":[],"autoDepUpgradeEnabled":false,"autoDepUpgradeMinAge":21,"pullRequestTestCodeEnabled":true,"pullRequestTestCodeSeverity":"high","pullRequestTestEnabled":true,"pullRequestFailOnAnyVulns":false,"pullRequestFailOnlyForHighSeverity":true,"pullRequestAssignment":"{\"enabled\":true,\"type\":\"manual\",\"assignees\":[\"username\"]}","autoRemediationPrs":{"backlogPrsEnabled":false,"backlogPrStrategy":"vuln","freshPrsEnabled":true,"usePatchRemediation":false},"manualRemediationPrs":{"useManualPatchRemediation":false},"dockerfileSCMEnabled":true}

@endpoint POST /org/{orgId}/integrations/{integrationId}/import
@desc Import targets
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., integrationId: str # The unique identifier for the configured integration. This can be found on the [Integration page in the Settings area](https://app.snyk.io/manage/integrations) for all integrations that have been configured.}
@returns(201)

@endpoint GET /org/{orgId}/integrations/{integrationId}/import/{jobId}
@desc Get import job details
@required {orgId: str # The organization ID. The `API_KEY` must have admin access to this organization., integrationId: str # The unique identifier for the configured integration. This can be found on the [Integration page in the Settings area](https://app.snyk.io/manage/integrations) for all integrations that have been configured., jobId: str # The ID of the job. This can be found in the Location response header from the corresponding POST request that triggered the import job.}
@returns(200) {id: str, status: str, created: str, logs: [map]}

@endpoint GET /org/{orgId}/project/{projectId}
@desc Retrieve a single project
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., projectId: str # The project ID.}
@returns(200) {name: str, id: str, created: str, origin: str, type: str, readOnly: bool, testFrequency: str, totalDependencies: num, issueCountsBySeverity: any, imageId: str, imageTag: str, imageBaseImage: str, imagePlatform: str, imageCluster: str, hostname: str?, remoteRepoUrl: str, lastTestedDate: str, owner: map?, browseUrl: str, importingUser: any, isMonitored: bool, branch: str?, targetReference: str?, tags: [str], attributes: str, remediation: any}

@endpoint PUT /org/{orgId}/project/{projectId}
@desc Update a project
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., projectId: str # The project ID.}
@optional {owner: map{id: str} # Set to `null` to remove all ownership. User must be a member of the same organization as the project., branch: str # The branch that this project should be monitoring}
@returns(200) {name: str, id: str, created: str, origin: str, type: str, readOnly: bool, testFrequency: str, totalDependencies: num, issueCountsBySeverity: any, imageId: str, imageTag: str, imageBaseImage: str, imagePlatform: str, imageCluster: str, hostname: str?, remoteRepoUrl: str, lastTestedDate: str, owner: map?, browseUrl: str, importingUser: any, isMonitored: bool, branch: str?, targetReference: str?, tags: [str], attributes: str, remediation: any}
@example_request {"owner":{"id":"1acd4d09-5602-4d04-9640-045fe928aaea"},"branch":"main"}

@endpoint DELETE /org/{orgId}/project/{projectId}
@desc Delete a project
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., projectId: str # The project ID.}
@returns(200)

@endpoint POST /org/{orgId}/project/{projectId}/deactivate
@desc Deactivate a project
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., projectId: str # The project ID.}
@returns(200)

@endpoint POST /org/{orgId}/project/{projectId}/activate
@desc Activate a project
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., projectId: str # The project ID.}
@returns(200)

@endpoint POST /org/{orgId}/project/{projectId}/aggregated-issues
@desc List all Aggregated issues
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to return issues for.}
@optional {includeDescription: bool # If set to `true`, Include issue's description, if set to `false` (by default), it won't (Non-IaC projects only), includeIntroducedThrough: bool # If set to `true`, include the dockerfile instruction that the issue is introducedThrough. If set to false (default), it won’t. This only applies to Container projects with an associated Dockerfile (CLI or Container Registry source), filters: map{severities: [str], exploitMaturity: [str], types: [str], ignored: bool, patched: bool, priority: map}}
@returns(200) {issues: [map]}
@example_request {"includeDescription":false,"includeIntroducedThrough":false}

@endpoint GET /org/{orgId}/project/{projectId}/issue/{issueId}/paths
@desc List all project issue paths
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID for which to return issue paths., issueId: str # The issue ID for which to return issue paths.}
@optional {snapshotId: str # The project snapshot ID for which to return issue paths. If set to `latest`, the most recent snapshot will be used. Use the "List all project snapshots" endpoint to find suitable values for this., perPage: num(double) # The number of results to return per page (1 - 1000, inclusive)., page: num(double) # The page of results to return.}
@returns(200) {snapshotId: str, paths: [[any]], total: num, links: map{prev: str, next: str, last: str}}

@endpoint POST /org/{orgId}/project/{projectId}/history
@desc List all project snapshots
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to return snapshots for.}
@optional {perPage: num(double) # The number of results to return (the default is 10, the maximum is 100)., page: num(double) # The offset from which to start returning results from., filters: map{imageId: str}}
@returns(200) {snapshots: [map], total: num}
@example_request {"filters":{"imageId":"sha256:a368cbcfa6789bc347345f6d78902afe138b62ff5373d2aa5f37120277c90a67"}}

@endpoint POST /org/{orgId}/project/{projectId}/history/{snapshotId}/aggregated-issues
@desc List all project snapshot aggregated issues
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID., snapshotId: str # The snapshot ID. If set to latest, the most recent snapshot will be used.}
@optional {includeDescription: bool # If set to `true`, Include issue's description, if set to `false` (by default), it won't (Non-IaC projects only), includeIntroducedThrough: bool # If set to `true`, include the dockerfile instruction that the issue is introducedThrough. If set to false (default), it won’t. This only applies to Container projects with an associated Dockerfile (CLI or Container Registry source), filters: map{severities: [str], exploitMaturity: [str], types: [str], ignored: bool, patched: bool, priority: map}}
@returns(200) {issues: [map]}
@example_request {"includeDescription":false,"includeIntroducedThrough":false}

@endpoint GET /org/{orgId}/project/{projectId}/history/{snapshotId}/issue/{issueId}/paths
@desc List all project snapshot issue paths
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID for which to return issue paths., snapshotId: str # The project snapshot ID for which to return issue paths. If set to `latest`, the most recent snapshot will be used. Use the "List all project snapshots" endpoint to find suitable values for this., issueId: str # The issue ID for which to return issue paths.}
@optional {perPage: num(double) # The number of results to return per page (1 - 1000, inclusive)., page: num(double) # The page of results to return.}
@returns(200) {snapshotId: str, paths: [[any]], total: num, links: map{prev: str, next: str, last: str}}

@endpoint GET /org/{orgId}/project/{projectId}/dep-graph
@desc Get Project dependency graph
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to return issues for.}
@returns(200) {depGraph: map{schemaVersion: str, pkgManager: map{name: str, version: str, repositories: [map]}, pkgs: [map], graph: map{rootNodeId: str, nodes: [map]}}} # * A reference implementation of the graph, as well as conversion functions to/from legacy tree format, can be found at: https://github.com/snyk/dep-graph. * The object might contain additional fields in the future, in a backward-compatible way (`schemaVersion` will change accordingly).

@endpoint GET /org/{orgId}/project/{projectId}/ignores
@desc List all ignores
@required {orgId: str # The organization ID to list ignores for. The `API_KEY` must have access to this organization., projectId: str # The project ID to list ignores for.}
@returns(200) {issueId: [map]}

@endpoint GET /org/{orgId}/project/{projectId}/ignore/{issueId}
@desc Retrieve ignore
@required {orgId: str # The organization ID to modify ignores for. The `API_KEY` must have access to this organization., projectId: str # The project ID to modify ignores for., issueId: str # The issue ID to modify ignores for. Can be a vulnerability or a license Issue.}
@returns(200) {ignorePath: map{reason: str, reasonType: str, ignoredBy: map{name: str, email: str, id: str}, disregardIfFixable: bool, expires: str, created: str}}

@endpoint POST /org/{orgId}/project/{projectId}/ignore/{issueId}
@desc Add ignore
@required {orgId: str # The organization ID to modify ignores for. The `API_KEY` must have access to this organization., projectId: str # The project ID to modify ignores for., issueId: str # The issue ID to modify ignores for. Can be a vulnerability or a license Issue., reasonType: any, disregardIfFixable: bool # Only ignore the issue if no upgrade or patch is available.}
@optional {ignorePath: str # The path to ignore (default is `*` which represents all paths)., reason: str # The reason that the issue was ignored., expires: str # The timestamp that the issue will no longer be ignored.}
@returns(200) {ignorePath: map{reason: str, reasonType: str, ignoredBy: map{name: str, email: str, id: str}, disregardIfFixable: bool, expires: str, created: str}}
@example_request {"ignorePath":"","reason":"","reasonType":"not-vulnerable","disregardIfFixable":false,"expires":""}

@endpoint PUT /org/{orgId}/project/{projectId}/ignore/{issueId}
@desc Replace ignores
@required {orgId: str # The organization ID to modify ignores for. The `API_KEY` must have access to this organization., projectId: str # The project ID to modify ignores for., issueId: str # The issue ID to modify ignores for. Can be a vulnerability or a license Issue.}
@returns(200)
@example_request [{"ignorePath":"","reason":"","reasonType":"not-vulnerable","disregardIfFixable":false,"expires":""}]

@endpoint DELETE /org/{orgId}/project/{projectId}/ignore/{issueId}
@desc Delete ignores
@required {orgId: str # The organization ID to modify ignores for. The `API_KEY` must have access to this organization., projectId: str # The project ID to modify ignores for., issueId: str # The issue ID to modify ignores for. Can be a vulnerability or a license Issue.}
@returns(200)

@endpoint GET /org/{orgId}/project/{projectId}/jira-issues
@desc List all jira issues
@required {orgId: str # The organization ID to list Jira issues for. The `API_KEY` must have access to this organization., projectId: str # The project ID to list Jira issues for.}
@returns(200) {issueId: [map]}

@endpoint POST /org/{orgId}/project/{projectId}/issue/{issueId}/jira-issue
@desc Create jira issue
@required {orgId: str # The organization ID to list Jira issues for. The `API_KEY` must have access to this organization., projectId: str # The project ID to list Jira issues for., issueId: str # The issue ID to create Jira issue for.}
@optional {fields: map{project: map, issuetype: map, summary: str}}
@returns(200) {jiraIssue: map{id: str, key: str}}
@example_request {"fields":{"project":{},"issuetype":{},"summary":""}}

@endpoint GET /org/{orgId}/project/{projectId}/settings
@desc List project settings
@required {orgId: str # The organization ID to which the project belongs. The API_KEY must have access to this organization., projectId: str # The project ID}
@returns(200) {autoDepUpgradeEnabled: bool, autoDepUpgradeIgnoredDependencies: [str], autoDepUpgradeMinAge: num, autoDepUpgradeLimit: num, pullRequestFailOnAnyVulns: bool, pullRequestFailOnlyForHighSeverity: bool, pullRequestTestEnabled: bool, pullRequestAssignment: str, autoRemediationPrs: str} # The response will contain only attributes that can be updated (see `ATTRIBUTES` section in `Update project settings`) and that have been previously set.

@endpoint PUT /org/{orgId}/project/{projectId}/settings
@desc Update project settings
@required {orgId: str # The organization ID to which the project belongs. The API_KEY must have access to this organization., projectId: str # The project ID}
@optional {autoDepUpgradeEnabled: bool # If set to `true`, Snyk will raise dependency upgrade PRs automatically., autoDepUpgradeIgnoredDependencies: [str] # An array of comma-separated strings with names of dependencies you wish Snyk to ignore to upgrade., autoDepUpgradeMinAge: num # The age (in days) that an automatic dependency check is valid for, autoDepUpgradeLimit: num # The limit on auto dependency upgrade PRs., pullRequestFailOnAnyVulns: bool # If set to `true`, fail Snyk Test if the repo has any vulnerabilities. Otherwise, fail only when the PR is adding a vulnerable dependency., pullRequestFailOnlyForHighSeverity: bool # If set to `true`, fail Snyk Test only for high and critical severity vulnerabilities, pullRequestTestEnabled: bool # If set to `true`, Snyk Test checks PRs for vulnerabilities.:cq, pullRequestAssignment: str # assign Snyk pull requests, autoRemediationPrs: str # Defines automatic remediation policies}
@returns(200) {autoDepUpgradeEnabled: bool, autoDepUpgradeIgnoredDependencies: [str], autoDepUpgradeMinAge: num, autoDepUpgradeLimit: num, pullRequestFailOnAnyVulns: bool, pullRequestFailOnlyForHighSeverity: bool, pullRequestTestEnabled: bool, pullRequestAssignment: str, autoRemediationPrs: str} # The response will contain the attributes and values that have been sent in the request and successfully updated.
@example_request {"autoDepUpgradeLimit":2,"autoDepUpgradeIgnoredDependencies":["tap","ava"],"autoDepUpgradeEnabled":false,"autoDepUpgradeMinAge":21,"pullRequestFailOnAnyVulns":false,"pullRequestFailOnlyForHighSeverity":true,"pullRequestTestEnabled":true,"pullRequestAssignment":"{\"enabled\":true,\"type\":\"manual\",\"assignees\":[\"username\"]}","autoRemediationPrs":"{\"freshPrsEnabled\":true,\"backlogPrsEnabled\":false,\"usePatchRemediation\":false}"}

@endpoint DELETE /org/{orgId}/project/{projectId}/settings
@desc Delete project settings
@required {orgId: str # The organization ID to which the project belongs. The API_KEY must have access to this organization., projectId: str # The project ID}
@returns(204)

@endpoint PUT /org/{orgId}/project/{projectId}/move
@desc Move project to a different organization
@required {orgId: str # The organization ID to which the project belongs. The API_KEY must have group admin permissions. If the project is moved to a new group, a personal level API key is needed., projectId: str # The project ID.}
@optional {targetOrgId: str # The ID of the organization that the project should be moved to. The API_KEY must have group admin permissions. If the project is moved to a new group, a personal level API key is needed.}
@returns(200) {originOrg: str, destinationOrg: str, movedProject: str}
@example_request {"targetOrgId":"4a18d42f-0706-4ad0-b127-24078731fbed"}

@endpoint POST /org/{orgId}/project/{projectId}/tags
@desc Add a tag to a project
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to apply the tag to}
@optional {key: str # Alphanumeric including - and _ with a limit of 30 characters, value: str # Alphanumeric including - and _ with a limit of 50 characters}
@returns(200) {tags: [map]}
@example_request {"key":"example-tag-key","value":"example-tag-value"}

@endpoint POST /org/{orgId}/project/{projectId}/tags/remove
@desc Remove a tag from a project
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to remove a tag from}
@optional {key: str # Alphanumeric including - and _ with a limit of 30 characters, value: str # Alphanumeric including - and _ with a limit of 50 characters}
@returns(200) {tags: [map]}
@example_request {"key":"example-tag-key","value":"example-tag-value"}

@endpoint POST /org/{orgId}/project/{projectId}/attributes
@desc Applying attributes
@required {orgId: str # The organization ID. The `API_KEY` must have access to this organization., projectId: str # The project ID to remove a tag from}
@optional {criticality: [str], environment: [str], lifecycle: [str]}
@returns(200) {attributes: map{criticality: [str], environment: [str], lifecycle: [str]}}
@example_request {"criticality":["high"],"environment":["backend"],"lifecycle":["development"]}

@endpoint POST /org/{orgId}/dependencies
@desc List all dependencies
@required {orgId: str # The organization ID to list projects for. The `API_KEY` must have access to this organization.}
@optional {sortBy: str # The field to sort results by., order: str # The direction to sort results by., page: num(double) # The page of results to fetch., perPage: num(double) # The number of results to fetch per page (maximum is 1000)., filters: map{languages: [str], projects: [str], dependencies: [str], licenses: [str], severity: [str], depStatus: str}}
@returns(200) {results: [map], total: num}
@example_request {"filters":{"languages":["cpp","dockerfile","dotnet","elixir","golang","helm","java","javascript","kubernetes","linux","php","python","ruby","scala","swift","terraform"],"projects":[],"dependencies":[],"licenses":[],"severity":["critical","high","medium","low"],"depStatus":""}}

@endpoint POST /org/{orgId}/licenses
@desc List all licenses
@required {orgId: str # The organization ID to list projects for. The `API_KEY` must have access to this organization.}
@optional {sortBy: any # The field to sort results by., order: any # The direction to sort results by., filters: map{languages: [str], projects: [str], dependencies: [str], licenses: [str], severity: [str]}}
@returns(200)
@example_request {"filters":{"languages":["node","ruby","java","cpp"],"projects":[],"dependencies":[],"licenses":[],"severity":["none","high","medium","low"]}}

@endpoint GET /org/{orgId}/entitlements
@desc List all entitlements
@required {orgId: str # The organization ID to list entitlements for. The `API_KEY` must have access to this organization.}
@returns(200)

@endpoint GET /org/{orgId}/entitlement/{entitlementKey}
@desc Get an organization's entitlement value
@required {orgId: str # The organization ID to query the entitlement for. The `API_KEY` must have access to this organization., entitlementKey: any # The entitlement to query.}
@returns(200)

@endgroup

@group test
@endpoint GET /test/maven/{groupId}/{artifactId}/{version}
@desc Test for issues in a public package by group id, artifact id and version
@required {groupId: str # The package's group ID., artifactId: str # The package's artifact ID., version: str # The package version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The Maven repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200)

@endpoint POST /test/maven
@desc Test maven file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The Maven repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200) {ok: bool, issues: map{vulnerabilities: [map], licenses: [str]}, dependencyCount: int(int32), org: map{name: str, id: str}, licensesPolicy: str?, packageManager: str}
@example_request {"encoding":"plain","files":{"target":{"contents":"<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>io.snyk.example</artifactId> <groupId>parent</groupId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>my-project</artifactId> <dependencies> <dependency> <groupId>axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> </dependencies> </project>\\n"},"additional":[{"contents":"<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\"> <modelVersion>4.0.0</modelVersion> <artifactId>io.snyk.example</artifactId> <groupId>parent</groupId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.2</version> </dependency> </dependencies> </project>\\n"}]}}

@endpoint GET /test/npm/{packageName}/{version}
@desc Test for issues in a public package by name and version
@required {packageName: str # The package name. For scoped packages, **must** be url-encoded, so to test "@angular/core" version 4.3.2, one should `GET /test/npm/%40angular%2Fcore/4.3.2`., version: str # The Package version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)

@endpoint POST /test/npm
@desc Test package.json & package-lock.json File
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200) {ok: bool, issues: map{vulnerabilities: [map], licenses: [str]}, dependencyCount: int(int32), org: map{name: str, id: str}, licensesPolicy: str?, packageManager: str}
@example_request {"encoding":"plain","files":{"target":{"contents":"eyAibmFtZSI6ICJzaGFsbG93LWdvb2YiLCAidmVyc2lvbiI6ICIwLjAuMSIsICJkZXNjcmlwdGlvbiI6ICJBIHZ1bG5lcmFibGUgZGVtbyBhcHBsaWNhdGlvbiIsICJob21lcGFnZSI6ICJodHRwczovL3NueWsuaW8vIiwgInJlcG9zaXRvcnkiOiB7ICJ0eXBlIjogImdpdCIsICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NueWsvc2hhbGxvdy1nb29mIiB9LCAiZGVwZW5kZW5jaWVzIjogeyAibm9kZS11dWlkIjogIjEuNC4wIiwgInFzIjogIjAuMC42IiB9IH0K"},"additional":[{"contents":"eyAibmFtZSI6ICJzaGFsbG93LWdvb2YiLCAidmVyc2lvbiI6ICIwLjAuMSIsICJsb2NrZmlsZVZlcnNpb24iOiAxLCAicmVxdWlyZXMiOiB0cnVlLCAiZGVwZW5kZW5jaWVzIjogeyAibm9kZS11dWlkIjogeyAidmVyc2lvbiI6ICIxLjQuMCIsICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub2RlLXV1aWQvLS9ub2RlLXV1aWQtMS40LjAudGd6IiwgImludGVncml0eSI6ICJzaGExLUIvbXlNM1Z5LzJKMXgzWGgxSVVUODZSZGVtVT0iIH0sICJxcyI6IHsgInZlcnNpb24iOiAiMC4wLjYiLCAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcXMvLS9xcy0wLjAuNi50Z3oiLCAiaW50ZWdyaXR5IjogInNoYTEtU0JaWnQrVy9hbDZvbUFFTjVhN1RYclJwNFNRPSIgfSB9IH0K"}]}}

@endpoint POST /test/golangdep
@desc Test Gopkg.toml & Gopkg.lock File
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"\"# Gopkg.toml example\\r\\n#\\r\\n# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html\\r\\n# for detailed Gopkg.toml documentation.\\r\\n#\\r\\n# required = [\\\"github.com/user/thing/cmd/thing\\\"]\\r\\n# ignored = [\\\"github.com/user/project/pkgX\\\", \\\"bitbucket.org/user/project/pkgA/pkgY\\\"]\\r\\n#\\r\\n# [[constraint]]\\r\\n#   name = \\\"github.com/user/project\\\"\\r\\n#   version = \\\"1.0.0\\\"\\r\\n#\\r\\n# [[constraint]]\\r\\n#   name = \\\"github.com/user/project2\\\"\\r\\n#   branch = \\\"dev\\\"\\r\\n#   source = \\\"github.com/myfork/project2\\\"\\r\\n#\\r\\n# [[override]]\\r\\n#   name = \\\"github.com/x/y\\\"\\r\\n#   version = \\\"2.4.0\\\"\\r\\n#\\r\\n# [prune]\\r\\n#   non-go = false\\r\\n#   go-tests = true\\r\\n#   unused-packages = true\\r\\n\\r\\n\\r\\n[[constraint]]\\r\\n  branch = \\\"master\\\"\\r\\n  name = \\\"github.com/asaskevich/EventBus\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  branch = \\\"master\\\"\\r\\n  name = \\\"github.com/cloudevents/sdk-go\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/gin-gonic/gin\\\"\\r\\n  version = \\\"1.3.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/golang/protobuf\\\"\\r\\n  version = \\\"1.2.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/goph/emperror\\\"\\r\\n  version = \\\"0.14.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/goph/logur\\\"\\r\\n  version = \\\"0.5.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/patrickmn/go-cache\\\"\\r\\n  version = \\\"2.1.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/pkg/errors\\\"\\r\\n  version = \\\"0.8.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/satori/go.uuid\\\"\\r\\n  version = \\\"1.2.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/sirupsen/logrus\\\"\\r\\n  version = \\\"1.2.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/spf13/cast\\\"\\r\\n  version = \\\"1.3.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/spf13/pflag\\\"\\r\\n  version = \\\"1.0.3\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"github.com/spf13/viper\\\"\\r\\n  version = \\\"1.3.1\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  branch = \\\"master\\\"\\r\\n  name = \\\"golang.org/x/net\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"google.golang.org/grpc\\\"\\r\\n  version = \\\"1.17.0\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"gopkg.in/go-playground/validator.v8\\\"\\r\\n  version = \\\"8.18.2\\\"\\r\\n\\r\\n[[constraint]]\\r\\n  name = \\\"gopkg.in/yaml.v2\\\"\\r\\n  version = \\\"2.2.2\\\"\\r\\n\\r\\n[prune]\\r\\n  go-tests = true\\r\\n  unused-packages = true\""},"additional":[{"contents":"\"# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.\\r\\n\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:e2a1ff1174d564ed4b75a62757f4a9081ed3b8c99ed17e47eb252b048b4ff018\\\"\\r\\n  name = \\\"github.com/asaskevich/EventBus\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"d46933a94f05c6657d7b923fcf5ac563ee37ec79\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:b95c3763b72359370262246870366418c1d17446195e3c73921135c2537b9655\\\"\\r\\n  name = \\\"github.com/cloudevents/sdk-go\\\"\\r\\n  packages = [\\r\\n    \\\".\\\",\\r\\n    \\\"v02\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"3a3d34a7231e937edfa20964dc25c29081c3ebea\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:abeb38ade3f32a92943e5be54f55ed6d6e3b6602761d74b4aab4c9dd45c18abd\\\"\\r\\n  name = \\\"github.com/fsnotify/fsnotify\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9\\\"\\r\\n  version = \\\"v1.4.7\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:36fe9527deed01d2a317617e59304eb2c4ce9f8a24115bcc5c2e37b3aee5bae4\\\"\\r\\n  name = \\\"github.com/gin-contrib/sse\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"22d885f9ecc78bf4ee5d72b937e4bbcdc58e8cae\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:d5083934eb25e45d17f72ffa86cae3814f4a9d6c073c4f16b64147169b245606\\\"\\r\\n  name = \\\"github.com/gin-gonic/gin\\\"\\r\\n  packages = [\\r\\n    \\\".\\\",\\r\\n    \\\"binding\\\",\\r\\n    \\\"json\\\",\\r\\n    \\\"render\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"b869fe1415e4b9eb52f247441830d502aece2d4d\\\"\\r\\n  version = \\\"v1.3.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:4c0989ca0bcd10799064318923b9bc2db6b4d6338dd75f3f2d86c3511aaaf5cf\\\"\\r\\n  name = \\\"github.com/golang/protobuf\\\"\\r\\n  packages = [\\r\\n    \\\"proto\\\",\\r\\n    \\\"ptypes\\\",\\r\\n    \\\"ptypes/any\\\",\\r\\n    \\\"ptypes/duration\\\",\\r\\n    \\\"ptypes/timestamp\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"aa810b61a9c79d51363740d207bb46cf8e620ed5\\\"\\r\\n  version = \\\"v1.2.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:4e0e5d786c35c402574cda1906195d9fbd76a35d2c921eb10199741faf4f0256\\\"\\r\\n  name = \\\"github.com/goph/emperror\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"b1b4a9b847ebc56299eb729faa942b89e9d8a562\\\"\\r\\n  version = \\\"v0.14.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:dd95856542089c3e0487299d6ac92f5f2941e97625b5a5754a483c7730e8dc89\\\"\\r\\n  name = \\\"github.com/goph/logur\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"111a952ccfacab0a90b9e4496da21d9f15187769\\\"\\r\\n  version = \\\"v0.5.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:c0d19ab64b32ce9fe5cf4ddceba78d5bc9807f0016db6b1183599da3dcc24d10\\\"\\r\\n  name = \\\"github.com/hashicorp/hcl\\\"\\r\\n  packages = [\\r\\n    \\\".\\\",\\r\\n    \\\"hcl/ast\\\",\\r\\n    \\\"hcl/parser\\\",\\r\\n    \\\"hcl/printer\\\",\\r\\n    \\\"hcl/scanner\\\",\\r\\n    \\\"hcl/strconv\\\",\\r\\n    \\\"hcl/token\\\",\\r\\n    \\\"json/parser\\\",\\r\\n    \\\"json/scanner\\\",\\r\\n    \\\"json/token\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"8cb6e5b959231cc1119e43259c4a608f9c51a241\\\"\\r\\n  version = \\\"v1.0.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:be97e109f627d3ba8edfef50c9c74f0d0c17cbe3a2e924a8985e4804a894f282\\\"\\r\\n  name = \\\"github.com/json-iterator/go\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"36b14963da70d11297d313183d7e6388c8510e1e\\\"\\r\\n  version = \\\"1.0.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:0a69a1c0db3591fcefb47f115b224592c8dfa4368b7ba9fae509d5e16cdc95c8\\\"\\r\\n  name = \\\"github.com/konsorten/go-windows-terminal-sequences\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"5c8c8bd35d3832f5d134ae1e1e375b69a4d25242\\\"\\r\\n  version = \\\"v1.0.1\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:c568d7727aa262c32bdf8a3f7db83614f7af0ed661474b24588de635c20024c7\\\"\\r\\n  name = \\\"github.com/magiconair/properties\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"c2353362d570a7bfa228149c62842019201cfb71\\\"\\r\\n  version = \\\"v1.8.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:fa610f9fe6a93f4a75e64c83673dfff9bf1a34bbb21e6102021b6bc7850834a3\\\"\\r\\n  name = \\\"github.com/mattn/go-isatty\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"57fdcb988a5c543893cc61bce354a6e24ab70022\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:53bc4cd4914cd7cd52139990d5170d6dc99067ae31c56530621b18b35fc30318\\\"\\r\\n  name = \\\"github.com/mitchellh/mapstructure\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"3536a929edddb9a5b34bd6861dc4a9647cb459fe\\\"\\r\\n  version = \\\"v1.1.2\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:808cdddf087fb64baeae67b8dfaee2069034d9704923a3cb8bd96a995421a625\\\"\\r\\n  name = \\\"github.com/patrickmn/go-cache\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"a3647f8e31d79543b2d0f0ae2fe5c379d72cedc0\\\"\\r\\n  version = \\\"v2.1.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:95741de3af260a92cc5c7f3f3061e85273f5a81b5db20d4bd68da74bd521675e\\\"\\r\\n  name = \\\"github.com/pelletier/go-toml\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"c01d1270ff3e442a8a57cddc1c92dc1138598194\\\"\\r\\n  version = \\\"v1.2.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:40e195917a951a8bf867cd05de2a46aaf1806c50cf92eebf4c16f78cd196f747\\\"\\r\\n  name = \\\"github.com/pkg/errors\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"645ef00459ed84a119197bfb8d8205042c6df63d\\\"\\r\\n  version = \\\"v0.8.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:274f67cb6fed9588ea2521ecdac05a6d62a8c51c074c1fccc6a49a40ba80e925\\\"\\r\\n  name = \\\"github.com/satori/go.uuid\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"f58768cc1a7a7e77a3bd49e98cdd21419399b6a3\\\"\\r\\n  version = \\\"v1.2.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:69b1cc331fca23d702bd72f860c6a647afd0aa9fcbc1d0659b1365e26546dd70\\\"\\r\\n  name = \\\"github.com/sirupsen/logrus\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"bcd833dfe83d3cebad139e4a29ed79cb2318bf95\\\"\\r\\n  version = \\\"v1.2.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:d707dbc1330c0ed177d4642d6ae102d5e2c847ebd0eb84562d0dc4f024531cfc\\\"\\r\\n  name = \\\"github.com/spf13/afero\\\"\\r\\n  packages = [\\r\\n    \\\".\\\",\\r\\n    \\\"mem\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"a5d6946387efe7d64d09dcba68cdd523dc1273a3\\\"\\r\\n  version = \\\"v1.2.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:08d65904057412fc0270fc4812a1c90c594186819243160dc779a402d4b6d0bc\\\"\\r\\n  name = \\\"github.com/spf13/cast\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"8c9545af88b134710ab1cd196795e7f2388358d7\\\"\\r\\n  version = \\\"v1.3.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:68ea4e23713989dc20b1bded5d9da2c5f9be14ff9885beef481848edd18c26cb\\\"\\r\\n  name = \\\"github.com/spf13/jwalterweatherman\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"4a4406e478ca629068e7768fc33f3f044173c0a6\\\"\\r\\n  version = \\\"v1.0.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:c1b1102241e7f645bc8e0c22ae352e8f0dc6484b6cb4d132fa9f24174e0119e2\\\"\\r\\n  name = \\\"github.com/spf13/pflag\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"298182f68c66c05229eb03ac171abe6e309ee79a\\\"\\r\\n  version = \\\"v1.0.3\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:de37e343c64582d7026bf8ab6ac5b22a72eac54f3a57020db31524affed9f423\\\"\\r\\n  name = \\\"github.com/spf13/viper\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"6d33b5a963d922d182c91e8a1c88d81fd150cfd4\\\"\\r\\n  version = \\\"v1.3.1\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:c268acaa4a4d94a467980e5e91452eb61c460145765293dc0aed48e5e9919cc6\\\"\\r\\n  name = \\\"github.com/ugorji/go\\\"\\r\\n  packages = [\\\"codec\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"c88ee250d0221a57af388746f5cf03768c21d6e2\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:38f553aff0273ad6f367cb0a0f8b6eecbaef8dc6cb8b50e57b6a81c1d5b1e332\\\"\\r\\n  name = \\\"golang.org/x/crypto\\\"\\r\\n  packages = [\\\"ssh/terminal\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"505ab145d0a99da450461ae2c1a9f6cd10d1f447\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:89a0cb976397aa9157a45bb2b896d0bcd07ee095ac975e0f03c53250c402265e\\\"\\r\\n  name = \\\"golang.org/x/net\\\"\\r\\n  packages = [\\r\\n    \\\"context\\\",\\r\\n    \\\"http/httpguts\\\",\\r\\n    \\\"http2\\\",\\r\\n    \\\"http2/hpack\\\",\\r\\n    \\\"idna\\\",\\r\\n    \\\"internal/timeseries\\\",\\r\\n    \\\"trace\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"e147a9138326bc0e9d4e179541ffd8af41cff8a9\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:ba8cbf57cfd92d5f8592b4aca1a35d92c162363d32aeabd5b12555f8896635e7\\\"\\r\\n  name = \\\"golang.org/x/sys\\\"\\r\\n  packages = [\\r\\n    \\\"unix\\\",\\r\\n    \\\"windows\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"4d1cda033e0619309c606fc686de3adcf599539e\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18\\\"\\r\\n  name = \\\"golang.org/x/text\\\"\\r\\n  packages = [\\r\\n    \\\"collate\\\",\\r\\n    \\\"collate/build\\\",\\r\\n    \\\"internal/colltab\\\",\\r\\n    \\\"internal/gen\\\",\\r\\n    \\\"internal/tag\\\",\\r\\n    \\\"internal/triegen\\\",\\r\\n    \\\"internal/ucd\\\",\\r\\n    \\\"language\\\",\\r\\n    \\\"secure/bidirule\\\",\\r\\n    \\\"transform\\\",\\r\\n    \\\"unicode/bidi\\\",\\r\\n    \\\"unicode/cldr\\\",\\r\\n    \\\"unicode/norm\\\",\\r\\n    \\\"unicode/rangetable\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"f21a4dfb5e38f5895301dc265a8def02365cc3d0\\\"\\r\\n  version = \\\"v0.3.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  branch = \\\"master\\\"\\r\\n  digest = \\\"1:077c1c599507b3b3e9156d17d36e1e61928ee9b53a5b420f10f28ebd4a0b275c\\\"\\r\\n  name = \\\"google.golang.org/genproto\\\"\\r\\n  packages = [\\\"googleapis/rpc/status\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"bd91e49a0898e27abb88c339b432fa53d7497ac0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:9edd250a3c46675d0679d87540b30c9ed253b19bd1fd1af08f4f5fb3c79fc487\\\"\\r\\n  name = \\\"google.golang.org/grpc\\\"\\r\\n  packages = [\\r\\n    \\\".\\\",\\r\\n    \\\"balancer\\\",\\r\\n    \\\"balancer/base\\\",\\r\\n    \\\"balancer/roundrobin\\\",\\r\\n    \\\"binarylog/grpc_binarylog_v1\\\",\\r\\n    \\\"codes\\\",\\r\\n    \\\"connectivity\\\",\\r\\n    \\\"credentials\\\",\\r\\n    \\\"credentials/internal\\\",\\r\\n    \\\"encoding\\\",\\r\\n    \\\"encoding/proto\\\",\\r\\n    \\\"grpclog\\\",\\r\\n    \\\"internal\\\",\\r\\n    \\\"internal/backoff\\\",\\r\\n    \\\"internal/binarylog\\\",\\r\\n    \\\"internal/channelz\\\",\\r\\n    \\\"internal/envconfig\\\",\\r\\n    \\\"internal/grpcrand\\\",\\r\\n    \\\"internal/grpcsync\\\",\\r\\n    \\\"internal/syscall\\\",\\r\\n    \\\"internal/transport\\\",\\r\\n    \\\"keepalive\\\",\\r\\n    \\\"metadata\\\",\\r\\n    \\\"naming\\\",\\r\\n    \\\"peer\\\",\\r\\n    \\\"resolver\\\",\\r\\n    \\\"resolver/dns\\\",\\r\\n    \\\"resolver/passthrough\\\",\\r\\n    \\\"stats\\\",\\r\\n    \\\"status\\\",\\r\\n    \\\"tap\\\",\\r\\n  ]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"df014850f6dee74ba2fc94874043a9f3f75fbfd8\\\"\\r\\n  version = \\\"v1.17.0\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:cbc72c4c4886a918d6ab4b95e347ffe259846260f99ebdd8a198c2331cf2b2e9\\\"\\r\\n  name = \\\"gopkg.in/go-playground/validator.v8\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"5f1438d3fca68893a817e4a66806cea46a9e4ebf\\\"\\r\\n  version = \\\"v8.18.2\\\"\\r\\n\\r\\n[[projects]]\\r\\n  digest = \\\"1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96\\\"\\r\\n  name = \\\"gopkg.in/yaml.v2\\\"\\r\\n  packages = [\\\".\\\"]\\r\\n  pruneopts = \\\"UT\\\"\\r\\n  revision = \\\"51d6538a90f86fe93ac480b35f37b2be17fef232\\\"\\r\\n  version = \\\"v2.2.2\\\"\\r\\n\\r\\n[solve-meta]\\r\\n  analyzer-name = \\\"dep\\\"\\r\\n  analyzer-version = 1\\r\\n  input-imports = [\\r\\n    \\\"github.com/asaskevich/EventBus\\\",\\r\\n    \\\"github.com/cloudevents/sdk-go/v02\\\",\\r\\n    \\\"github.com/gin-gonic/gin\\\",\\r\\n    \\\"github.com/golang/protobuf/proto\\\",\\r\\n    \\\"github.com/goph/emperror\\\",\\r\\n    \\\"github.com/goph/logur\\\",\\r\\n    \\\"github.com/karlseguin/ccache\\\",\\r\\n    \\\"github.com/patrickmn/go-cache\\\",\\r\\n    \\\"github.com/pkg/errors\\\",\\r\\n    \\\"github.com/satori/go.uuid\\\",\\r\\n    \\\"github.com/sirupsen/logrus\\\",\\r\\n    \\\"github.com/spf13/cast\\\",\\r\\n    \\\"github.com/spf13/pflag\\\",\\r\\n    \\\"github.com/spf13/viper\\\",\\r\\n    \\\"golang.org/x/net/context\\\",\\r\\n    \\\"google.golang.org/grpc\\\",\\r\\n    \\\"gopkg.in/go-playground/validator.v8\\\",\\r\\n    \\\"gopkg.in/yaml.v2\\\",\\r\\n  ]\\r\\n  solver-name = \\\"gps-cdcl\\\"\\r\\n  solver-version = 1\""}]}}

@endpoint POST /test/govendor
@desc Test vendor.json File
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"{\\\"comment\\\":\\\"\\\",\\\"ignore\\\":\\\"test\\\",\\\"package\\\":[{\\\"checksumSHA1\\\":\\\"o/3cn04KAiwC7NqNVvmfVTD+hgA=\\\",\\\"path\\\":\\\"github.com/Microsoft/go-winio\\\",\\\"revision\\\":\\\"78439966b38d69bf38227fbf57ac8a6fee70f69a\\\",\\\"revisionTime\\\":\\\"2017-08-04T20:09:54Z\\\"},{\\\"checksumSHA1\\\":\\\"GqIrOttKaO7k6HIaHQLPr3cY7rY=\\\",\\\"path\\\":\\\"github.com/containerd/continuity/pathdriver\\\",\\\"revision\\\":\\\"617902de2ab5e18974efd88a58eeef67ac82d127\\\",\\\"revisionTime\\\":\\\"2017-09-25T16:43:31Z\\\"},{\\\"checksumSHA1\\\":\\\"ndnAFCfsGC3upNQ6jAEwzxcurww=\\\",\\\"path\\\":\\\"github.com/docker/docker/pkg/longpath\\\",\\\"revision\\\":\\\"74a084162ce544fe995715ba47aa84d3d75b95c1\\\",\\\"revisionTime\\\":\\\"2017-09-26T16:09:50Z\\\"},{\\\"checksumSHA1\\\":\\\"IVWozKA/coqhti24Ss2b1nLrTSg=\\\",\\\"path\\\":\\\"github.com/docker/docker/pkg/mount\\\",\\\"revision\\\":\\\"74a084162ce544fe995715ba47aa84d3d75b95c1\\\",\\\"revisionTime\\\":\\\"2017-09-26T16:09:50Z\\\"},{\\\"checksumSHA1\\\":\\\"YdUAOhhc/C0zu+eYrJOJjDwr1/4=\\\",\\\"path\\\":\\\"github.com/docker/docker/pkg/symlink\\\",\\\"revision\\\":\\\"74a084162ce544fe995715ba47aa84d3d75b95c1\\\",\\\"revisionTime\\\":\\\"2017-09-26T16:09:50Z\\\"},{\\\"checksumSHA1\\\":\\\"UEMAKQqAyL9hs6RWxesQuYMQ3+I=\\\",\\\"path\\\":\\\"github.com/docker/docker/pkg/system\\\",\\\"revision\\\":\\\"74a084162ce544fe995715ba47aa84d3d75b95c1\\\",\\\"revisionTime\\\":\\\"2017-09-26T16:09:50Z\\\"},{\\\"checksumSHA1\\\":\\\"UmXGieuTJQOzJPspPJTVKKKMiUA=\\\",\\\"path\\\":\\\"github.com/docker/go-units\\\",\\\"revision\\\":\\\"0dadbb0345b35ec7ef35e228dabb8de89a65bf52\\\",\\\"revisionTime\\\":\\\"2017-01-27T09:51:30Z\\\"},{\\\"checksumSHA1\\\":\\\"RCARG9BoOH6jwbqnuix2Ne3K26w=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"OVGl5SGmF1HZmaG6JRmkyWiycYA=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/cgroups\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"q56oWh80PeIBiE/8nQ/Emz18ZZ8=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/cgroups/fs\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"3NQtWwKOT4BlnSWn0tTsy/N+XhU=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/console\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"WPIuCuWS1RkrGCHBRZuOJku7ZBc=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/devices\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"HLo2E8AWKNCwE2p7ndEkKc4SPnM=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/label\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"KYcr4bHkervvLS5wuH9w1+EhflY=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/mount\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"tvHnvhbm17pLR/fA2WXWYlY9aDs=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/mount/nodes\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"k9+kwIouq8vqmodLrGFp+9I7Jxs=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/netlink\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"ndpCrSi/XKZNCCrkjpQ2cgMIxKA=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/network\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"cfgnX7wKfSHOJ4mbhKyjAWizl+s=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/selinux\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"M7/2WUk1uzgdqc5Ce/k9UcSyv1M=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/system\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"2ZMmNaPI3TM4WyMjCw+h1jErSr0=\\\",\\\"path\\\":\\\"github.com/docker/libcontainer/utils\\\",\\\"revision\\\":\\\"53eca435e63db58b06cf796d3a9326db5fd42253\\\",\\\"revisionTime\\\":\\\"2014-12-02T23:28:38Z\\\",\\\"version\\\":\\\"v1.4\\\",\\\"versionExact\\\":\\\"v1.4.0\\\"},{\\\"checksumSHA1\\\":\\\"rJab1YdNhQooDiBWNnt7TLWPyBU=\\\",\\\"path\\\":\\\"github.com/pkg/errors\\\",\\\"revision\\\":\\\"2b3a18b5f0fb6b4f9190549597d3f962c02bc5eb\\\",\\\"revisionTime\\\":\\\"2017-09-10T13:46:14Z\\\"},{\\\"checksumSHA1\\\":\\\"BYvROBsiyAXK4sq6yhDe8RgT4LM=\\\",\\\"path\\\":\\\"github.com/sirupsen/logrus\\\",\\\"revision\\\":\\\"89742aefa4b206dcf400792f3bd35b542998eb3b\\\",\\\"revisionTime\\\":\\\"2017-08-22T13:27:46Z\\\"},{\\\"checksumSHA1\\\":\\\"nqWNlnMmVpt628zzvyo6Yv2CX5Q=\\\",\\\"path\\\":\\\"golang.org/x/crypto/ssh/terminal\\\",\\\"revision\\\":\\\"847319b7fc94cab682988f93da778204da164588\\\",\\\"revisionTime\\\":\\\"2017-08-18T09:57:21Z\\\"},{\\\"checksumSHA1\\\":\\\"uggjqMBFNJd11oNco2kbkAT641w=\\\",\\\"path\\\":\\\"golang.org/x/sys/unix\\\",\\\"revision\\\":\\\"429f518978ab01db8bb6f44b66785088e7fba58b\\\",\\\"revisionTime\\\":\\\"2017-09-20T21:38:28Z\\\"},{\\\"checksumSHA1\\\":\\\"pBPFzDGt3AVSRffB7ffiUnruFUk=\\\",\\\"path\\\":\\\"golang.org/x/sys/windows\\\",\\\"revision\\\":\\\"429f518978ab01db8bb6f44b66785088e7fba58b\\\",\\\"revisionTime\\\":\\\"2017-09-20T21:38:28Z\\\"},{\\\"checksumSHA1\\\":\\\"o5NrWoSkC+ugoK9D6ragLSrXHw0=\\\",\\\"path\\\":\\\"gopkg.in/square/go-jose.v2\\\",\\\"revision\\\":\\\"296c7f1463ec9b712176dc804dea0173d06dc728\\\",\\\"revisionTime\\\":\\\"2016-11-17T00:42:38Z\\\",\\\"version\\\":\\\"v2.0\\\",\\\"versionExact\\\":\\\"v2.0.1\\\"},{\\\"checksumSHA1\\\":\\\"j94zYNLTvPSnfnqVKJ4LUf++uX4=\\\",\\\"path\\\":\\\"gopkg.in/square/go-jose.v2/cipher\\\",\\\"revision\\\":\\\"296c7f1463ec9b712176dc804dea0173d06dc728\\\",\\\"revisionTime\\\":\\\"2016-11-17T00:42:38Z\\\",\\\"version\\\":\\\"v2.0\\\",\\\"versionExact\\\":\\\"v2.0.1\\\"},{\\\"checksumSHA1\\\":\\\"JFun0lWY9eqd80Js2iWsehu1gc4=\\\",\\\"path\\\":\\\"gopkg.in/square/go-jose.v2/json\\\",\\\"revision\\\":\\\"296c7f1463ec9b712176dc804dea0173d06dc728\\\",\\\"revisionTime\\\":\\\"2016-11-17T00:42:38Z\\\",\\\"version\\\":\\\"v2.0\\\",\\\"versionExact\\\":\\\"v2.0.1\\\"}],\\\"rootPath\\\":\\\"with-vuln\\\"}"}}}

@endpoint POST /test/yarn
@desc Test package.json & yarn.lock File
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200) {ok: bool, issues: map{vulnerabilities: [map], licenses: [str]}, dependencyCount: int(int32), org: map{name: str, id: str}, licensesPolicy: str?, packageManager: str}
@example_request {"encoding":"plain","files":{"target":{"contents":"{ \"name\": \"shallow-goof\", \"version\": \"0.0.1\", \"description\": \"A vulnerable demo application\", \"homepage\": \"https://snyk.io/\", \"repository\": { \"type\": \"git\", \"url\": \"https://github.com/Snyk/shallow-goof\" }, \"dependencies\": { \"node-uuid\": \"1.4.0\", \"qs\": \"0.0.6\" } }"},"additional":[{"contents":"# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\\r\\n# yarn lockfile v1\\r\\n\\r\\n\\r\\nnode-uuid@1.4.0:\\r\\n  version \\\"1.4.0\\\"\\r\\n  resolved \\\"https:\\/\\/registry.yarnpkg.com\\/node-uuid\\/-\\/node-uuid-1.4.0.tgz#07f9b2337572ff6275c775e1d48513f3a45d7a65\\\"\\r\\n  integrity sha1-B\\/myM3Vy\\/2J1x3Xh1IUT86RdemU=\\r\\n\\r\\nqs@0.0.6:\\r\\n  version \\\"0.0.6\\\"\\r\\n  resolved \\\"https:\\/\\/registry.yarnpkg.com\\/qs\\/-\\/qs-0.0.6.tgz#481659b7e5bf6a5ea898010de5aed35eb469e124\\\"\\r\\n  integrity sha1-SBZZt+W\\/al6omAEN5a7TXrRp4SQ=\\r\\n"}]}}

@endpoint GET /test/rubygems/{gemName}/{version}
@desc Test for issues in a public gem by name and version
@required {gemName: str # The gem name., version: str # The gem version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)

@endpoint POST /test/rubygems
@desc Test gemfile.lock file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"GEM\\n remote: http://rubygems.org/\\n specs:\\n actionpack (4.2.5)\\n actionview (= 4.2.5)\\n activesupport (= 4.2.5)\\n rack (~> 1.6)\\n rack-test (~> 0.6.2)\\n rails-dom-testing (~> 1.0, >= 1.0.5)\\n rails-html-sanitizer (~> 1.0, >= 1.0.2)\\n actionview (4.2.5)\\n activesupport (= 4.2.5)\\n builder (~> 3.1)\\n erubis (~> 2.7.0)\\n rails-dom-testing (~> 1.0, >= 1.0.5)\\n rails-html-sanitizer (~> 1.0, >= 1.0.2)\\n activesupport (4.2.5)\\n i18n (~> 0.7)\\n json (~> 1.7, >= 1.7.7)\\n minitest (~> 5.1)\\n thread_safe (~> 0.3, >= 0.3.4)\\n tzinfo (~> 1.1)\\n builder (3.2.2)\\n erubis (2.7.0)\\n haml (3.1.4)\\n httparty (0.8.1)\\n multi_json\\n multi_xml\\n i18n (0.7.0)\\n json (1.8.3)\\n loofah (2.0.3)\\n nokogiri (>= 1.5.9)\\n mini_portile2 (2.1.0)\\n minitest (5.9.1)\\n multi_json (1.12.1)\\n multi_xml (0.5.5)\\n nokogiri (1.6.8.1)\\n mini_portile2 (~> 2.1.0)\\n rack (1.6.4)\\n rack-protection (1.5.3)\\n rack\\n rack-test (0.6.3)\\n rack (>= 1.0)\\n rails-deprecated_sanitizer (1.0.3)\\n activesupport (>= 4.2.0.alpha)\\n rails-dom-testing (1.0.7)\\n activesupport (>= 4.2.0.beta, < 5.0)\\n nokogiri (~> 1.6.0)\\n rails-deprecated_sanitizer (>= 1.0.1)\\n rails-html-sanitizer (1.0.3)\\n loofah (~> 2.0)\\n sinatra (1.3.2)\\n rack (~> 1.3, >= 1.3.6)\\n rack-protection (~> 1.2)\\n tilt (~> 1.3, >= 1.3.3)\\n thread_safe (0.3.5)\\n tilt (1.4.1)\\n tzinfo (1.2.2)\\n thread_safe (~> 0.1)\\n \\n PLATFORMS\\n ruby\\n \\n DEPENDENCIES\\n actionpack\\n haml\\n httparty\\n sinatra\\n \\n BUNDLED WITH\\n 1.13.2"}}}

@endpoint GET /test/gradle/{group}/{name}/{version}
@desc Test for issues in a public package by group, name and version
@required {group: str # The package's group ID., name: str # The package's artifact ID., version: str # The package version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200)

@endpoint POST /test/gradle
@desc Test gradle file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"dependencies { compile 'axis:axis:1.4' }"}}}

@endpoint GET /test/sbt/{groupId}/{artifactId}/{version}
@desc sbt_Test for issues in a public package by group id, artifact id and version
@required {groupId: str # The package's group ID., artifactId: str # The package's artifact ID., version: str # The package version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200)

@endpoint POST /test/sbt
@desc Test sbt file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., repository: str # The repository hosting this package. The default value is Maven Central. More than one value is supported, in order.}
@returns(200) {ok: bool, issues: map{vulnerabilities: [map], licenses: [map]}, dependencyCount: int(int32), org: map{name: str, id: str}, licensesPolicy: str?, packageManager: str}
@example_request {"encoding":"plain","files":{"target":{"contents":"\\nname := \\\"subsearch\\\"\\n\\nassemblyJarName in assembly := s\\\"subsearch-0.2.0.jar\\\"\\n\\nscalaVersion := \\\"2.11.8\\\"\\n\\nscalacOptions ++= Seq(\\\"-unchecked\\\", \\\"-deprecation\\\")\\n\\nresolvers += Resolver.sonatypeRepo(\\\"public\\\")\\n\\nlibraryDependencies += \\\"org.scalatest\\\" % \\\"scalatest_2.11\\\" % \\\"2.2.1\\\" % \\\"test\\\"\\nlibraryDependencies += \\\"org.scalamock\\\" %% \\\"scalamock-scalatest-support\\\" % \\\"3.2.2\\\" % \\\"test\\\"\\nlibraryDependencies += \\\"net.databinder.dispatch\\\" %% \\\"dispatch-core\\\" % \\\"0.11.2\\\"\\nlibraryDependencies += \\\"org.slf4j\\\" % \\\"slf4j-simple\\\" % \\\"1.6.6\\\"\\nlibraryDependencies += \\\"com.github.scopt\\\" %% \\\"scopt\\\" % \\\"3.4.0\\\"\\nlibraryDependencies += \\\"pl.project13.scala\\\" %% \\\"rainbow\\\" % \\\"0.2\\\"\\nlibraryDependencies += \\\"dnsjava\\\" % \\\"dnsjava\\\" % \\\"2.1.7\\\"\\nlibraryDependencies += \\\"com.typesafe.akka\\\" %% \\\"akka-actor\\\" % \\\"2.4.1\\\"\\nlibraryDependencies += \\\"org.scala-lang.modules\\\" % \\\"scala-jline\\\" % \\\"2.12.1\\\"\\nlibraryDependencies += \\\"net.ruippeixotog\\\" %% \\\"scala-scraper\\\" % \\\"1.0.0\\\""}}}

@endpoint GET /test/pip/{packageName}/{version}
@desc pip_Test for issues in a public package by name and version
@required {packageName: str # The package name., version: str # The Package version to test.}
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)

@endpoint POST /test/pip
@desc Test requirements.txt file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"supervisor==3.1\\noauth2==1.5.211"}}}

@endpoint POST /test/composer
@desc Test composer.json & composer.lock file
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"encoding":"plain","files":{"target":{"contents":"{\"name\": \"vulnerable/project\",\"description\": \"A sample vulnerable project\",\"require\": {\"php\": \">=5.3.2\",\"symfony/symfony\": \"v2.3.1\",\"yiisoft/yii\": \"1.1.14\",\"zendframework/zendframework\": \"2.1.0\",\"aws/aws-sdk-php\": \"3.0.0\",\"doctrine/common\": \"2.5.0\"}}"},"additional":[{"contents":"{\"_readme\":[\"This file locks the dependencies of your project to a known state\",\"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file\",\"This file is @generated automatically\"],\"content-hash\":\"3a3771e545494c4c098e639bd68602ba\",\"packages\":[{\"name\":\"aws/aws-sdk-php\",\"version\":\"3.0.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/aws/aws-sdk-php.git\",\"reference\":\"4018c8f14a9e53003bb0417fa859c6a7ad57b53b\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/aws/aws-sdk-php/zipball/4018c8f14a9e53003bb0417fa859c6a7ad57b53b\",\"reference\":\"4018c8f14a9e53003bb0417fa859c6a7ad57b53b\",\"shasum\":\"\"},\"require\":{\"guzzlehttp/guzzle\":\"^5.3 || ^6.0.1\",\"guzzlehttp/promises\":\"^1.0.0\",\"guzzlehttp/psr7\":\"^1.0.0\",\"mtdowling/jmespath.php\":\"^2.2\",\"php\":\">=5.5\"},\"require-dev\":{\"ext-dom\":\"*\",\"ext-json\":\"*\",\"ext-openssl\":\"*\",\"ext-pcre\":\"*\",\"ext-simplexml\":\"*\",\"ext-spl\":\"*\",\"phpunit/phpunit\":\"^4.0\"},\"suggest\":{\"ext-curl\":\"To send requests using cURL\",\"ext-openssl\":\"Allows working with CloudFront private distributions and verifying received SNS messages\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"3.0-dev\"}},\"autoload\":{\"psr-4\":{\"Aws\\\":\"src/\"},\"files\":[\"src/functions.php\"]},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"Apache-2.0\"],\"authors\":[{\"name\":\"Amazon Web Services\",\"homepage\":\"http://aws.amazon.com\"}],\"description\":\"AWS SDK for PHP - Use Amazon Web Services in your PHP project\",\"homepage\":\"http://aws.amazon.com/sdkforphp\",\"keywords\":[\"amazon\",\"aws\",\"cloud\",\"dynamodb\",\"ec2\",\"glacier\",\"s3\",\"sdk\"],\"time\":\"2015-05-27T20:07:42+00:00\"},{\"name\":\"doctrine/annotations\",\"version\":\"v1.5.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/annotations.git\",\"reference\":\"5beebb01b025c94e93686b7a0ed3edae81fe3e7f\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f\",\"reference\":\"5beebb01b025c94e93686b7a0ed3edae81fe3e7f\",\"shasum\":\"\"},\"require\":{\"doctrine/lexer\":\"1.*\",\"php\":\"^7.1\"},\"require-dev\":{\"doctrine/cache\":\"1.*\",\"phpunit/phpunit\":\"^5.7\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.5.x-dev\"}},\"autoload\":{\"psr-4\":{\"Doctrine\\Common\\Annotations\\\":\"lib/Doctrine/Common/Annotations\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Benjamin Eberlei\",\"email\":\"kontakt@beberlei.de\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Jonathan Wage\",\"email\":\"jonwage@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Docblock Annotations Parser\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"annotations\",\"docblock\",\"parser\"],\"time\":\"2017-07-22T10:58:02+00:00\"},{\"name\":\"doctrine/cache\",\"version\":\"v1.7.1\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/cache.git\",\"reference\":\"b3217d58609e9c8e661cd41357a54d926c4a2a1a\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a\",\"reference\":\"b3217d58609e9c8e661cd41357a54d926c4a2a1a\",\"shasum\":\"\"},\"require\":{\"php\":\"~7.1\"},\"conflict\":{\"doctrine/common\":\">2.2,<2.4\"},\"require-dev\":{\"alcaeus/mongo-php-adapter\":\"^1.1\",\"mongodb/mongodb\":\"^1.1\",\"phpunit/phpunit\":\"^5.7\",\"predis/predis\":\"~1.0\"},\"suggest\":{\"alcaeus/mongo-php-adapter\":\"Required to use legacy MongoDB driver\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.7.x-dev\"}},\"autoload\":{\"psr-4\":{\"Doctrine\\Common\\Cache\\\":\"lib/Doctrine/Common/Cache\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Benjamin Eberlei\",\"email\":\"kontakt@beberlei.de\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Jonathan Wage\",\"email\":\"jonwage@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Caching library offering an object-oriented API for many cache backends\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"cache\",\"caching\"],\"time\":\"2017-08-25T07:02:50+00:00\"},{\"name\":\"doctrine/collections\",\"version\":\"v1.5.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/collections.git\",\"reference\":\"a01ee38fcd999f34d9bfbcee59dbda5105449cbf\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf\",\"reference\":\"a01ee38fcd999f34d9bfbcee59dbda5105449cbf\",\"shasum\":\"\"},\"require\":{\"php\":\"^7.1\"},\"require-dev\":{\"doctrine/coding-standard\":\"~0.1@dev\",\"phpunit/phpunit\":\"^5.7\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.3.x-dev\"}},\"autoload\":{\"psr-0\":{\"Doctrine\\Common\\Collections\\\":\"lib/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Benjamin Eberlei\",\"email\":\"kontakt@beberlei.de\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Jonathan Wage\",\"email\":\"jonwage@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Collections Abstraction library\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"array\",\"collections\",\"iterator\"],\"time\":\"2017-07-22T10:37:32+00:00\"},{\"name\":\"doctrine/common\",\"version\":\"v2.5.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/common.git\",\"reference\":\"cd8daf2501e10c63dced7b8b9b905844316ae9d3\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/common/zipball/cd8daf2501e10c63dced7b8b9b905844316ae9d3\",\"reference\":\"cd8daf2501e10c63dced7b8b9b905844316ae9d3\",\"shasum\":\"\"},\"require\":{\"doctrine/annotations\":\"1.*\",\"doctrine/cache\":\"1.*\",\"doctrine/collections\":\"1.*\",\"doctrine/inflector\":\"1.*\",\"doctrine/lexer\":\"1.*\",\"php\":\">=5.3.2\"},\"require-dev\":{\"phpunit/phpunit\":\"~3.7\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"2.6.x-dev\"}},\"autoload\":{\"psr-0\":{\"Doctrine\\Common\\\":\"lib/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Benjamin Eberlei\",\"email\":\"kontakt@beberlei.de\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Jonathan Wage\",\"email\":\"jonwage@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Common Library for Doctrine projects\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"annotations\",\"collections\",\"eventmanager\",\"persistence\",\"spl\"],\"time\":\"2015-04-02T19:55:44+00:00\"},{\"name\":\"doctrine/inflector\",\"version\":\"v1.2.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/inflector.git\",\"reference\":\"e11d84c6e018beedd929cff5220969a3c6d1d462\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462\",\"reference\":\"e11d84c6e018beedd929cff5220969a3c6d1d462\",\"shasum\":\"\"},\"require\":{\"php\":\"^7.0\"},\"require-dev\":{\"phpunit/phpunit\":\"^6.2\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.2.x-dev\"}},\"autoload\":{\"psr-4\":{\"Doctrine\\Common\\Inflector\\\":\"lib/Doctrine/Common/Inflector\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Benjamin Eberlei\",\"email\":\"kontakt@beberlei.de\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Jonathan Wage\",\"email\":\"jonwage@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Common String Manipulations with regard to casing and singular/plural rules.\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"inflection\",\"pluralize\",\"singularize\",\"string\"],\"time\":\"2017-07-22T12:18:28+00:00\"},{\"name\":\"doctrine/lexer\",\"version\":\"v1.0.1\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/doctrine/lexer.git\",\"reference\":\"83893c552fd2045dd78aef794c31e694c37c0b8c\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c\",\"reference\":\"83893c552fd2045dd78aef794c31e694c37c0b8c\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.3.2\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.0.x-dev\"}},\"autoload\":{\"psr-0\":{\"Doctrine\\Common\\Lexer\\\":\"lib/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Roman Borschel\",\"email\":\"roman@code-factory.org\"},{\"name\":\"Guilherme Blanco\",\"email\":\"guilhermeblanco@gmail.com\"},{\"name\":\"Johannes Schmitt\",\"email\":\"schmittjoh@gmail.com\"}],\"description\":\"Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.\",\"homepage\":\"http://www.doctrine-project.org\",\"keywords\":[\"lexer\",\"parser\"],\"time\":\"2014-09-09T13:34:57+00:00\"},{\"name\":\"guzzlehttp/guzzle\",\"version\":\"6.3.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/guzzle/guzzle.git\",\"reference\":\"f4db5a78a5ea468d4831de7f0bf9d9415e348699\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699\",\"reference\":\"f4db5a78a5ea468d4831de7f0bf9d9415e348699\",\"shasum\":\"\"},\"require\":{\"guzzlehttp/promises\":\"^1.0\",\"guzzlehttp/psr7\":\"^1.4\",\"php\":\">=5.5\"},\"require-dev\":{\"ext-curl\":\"*\",\"phpunit/phpunit\":\"^4.0 || ^5.0\",\"psr/log\":\"^1.0\"},\"suggest\":{\"psr/log\":\"Required for using the Log middleware\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"6.2-dev\"}},\"autoload\":{\"files\":[\"src/functions_include.php\"],\"psr-4\":{\"GuzzleHttp\\\":\"src/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Michael Dowling\",\"email\":\"mtdowling@gmail.com\",\"homepage\":\"https://github.com/mtdowling\"}],\"description\":\"Guzzle is a PHP HTTP client library\",\"homepage\":\"http://guzzlephp.org/\",\"keywords\":[\"client\",\"curl\",\"framework\",\"http\",\"http client\",\"rest\",\"web service\"],\"time\":\"2017-06-22T18:50:49+00:00\"},{\"name\":\"guzzlehttp/promises\",\"version\":\"v1.3.1\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/guzzle/promises.git\",\"reference\":\"a59da6cf61d80060647ff4d3eb2c03a2bc694646\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646\",\"reference\":\"a59da6cf61d80060647ff4d3eb2c03a2bc694646\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.5.0\"},\"require-dev\":{\"phpunit/phpunit\":\"^4.0\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.4-dev\"}},\"autoload\":{\"psr-4\":{\"GuzzleHttp\\Promise\\\":\"src/\"},\"files\":[\"src/functions_include.php\"]},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Michael Dowling\",\"email\":\"mtdowling@gmail.com\",\"homepage\":\"https://github.com/mtdowling\"}],\"description\":\"Guzzle promises library\",\"keywords\":[\"promise\"],\"time\":\"2016-12-20T10:07:11+00:00\"},{\"name\":\"guzzlehttp/psr7\",\"version\":\"1.4.2\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/guzzle/psr7.git\",\"reference\":\"f5b8a8512e2b58b0071a7280e39f14f72e05d87c\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c\",\"reference\":\"f5b8a8512e2b58b0071a7280e39f14f72e05d87c\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.4.0\",\"psr/http-message\":\"~1.0\"},\"provide\":{\"psr/http-message-implementation\":\"1.0\"},\"require-dev\":{\"phpunit/phpunit\":\"~4.0\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.4-dev\"}},\"autoload\":{\"psr-4\":{\"GuzzleHttp\\Psr7\\\":\"src/\"},\"files\":[\"src/functions_include.php\"]},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Michael Dowling\",\"email\":\"mtdowling@gmail.com\",\"homepage\":\"https://github.com/mtdowling\"},{\"name\":\"Tobias Schultze\",\"homepage\":\"https://github.com/Tobion\"}],\"description\":\"PSR-7 message implementation that also provides common utility methods\",\"keywords\":[\"http\",\"message\",\"request\",\"response\",\"stream\",\"uri\",\"url\"],\"time\":\"2017-03-20T17:10:46+00:00\"},{\"name\":\"mtdowling/jmespath.php\",\"version\":\"2.4.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/jmespath/jmespath.php.git\",\"reference\":\"adcc9531682cf87dfda21e1fd5d0e7a41d292fac\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/jmespath/jmespath.php/zipball/adcc9531682cf87dfda21e1fd5d0e7a41d292fac\",\"reference\":\"adcc9531682cf87dfda21e1fd5d0e7a41d292fac\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.4.0\"},\"require-dev\":{\"phpunit/phpunit\":\"~4.0\"},\"bin\":[\"bin/jp.php\"],\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"2.0-dev\"}},\"autoload\":{\"psr-4\":{\"JmesPath\\\":\"src/\"},\"files\":[\"src/JmesPath.php\"]},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Michael Dowling\",\"email\":\"mtdowling@gmail.com\",\"homepage\":\"https://github.com/mtdowling\"}],\"description\":\"Declaratively specify how to extract elements from a JSON document\",\"keywords\":[\"json\",\"jsonpath\"],\"time\":\"2016-12-03T22:08:25+00:00\"},{\"name\":\"psr/http-message\",\"version\":\"1.0.1\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/php-fig/http-message.git\",\"reference\":\"f6561bf28d520154e4b0ec72be95418abe6d9363\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363\",\"reference\":\"f6561bf28d520154e4b0ec72be95418abe6d9363\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.3.0\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.0.x-dev\"}},\"autoload\":{\"psr-4\":{\"Psr\\Http\\Message\\\":\"src/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"PHP-FIG\",\"homepage\":\"http://www.php-fig.org/\"}],\"description\":\"Common interface for HTTP messages\",\"homepage\":\"https://github.com/php-fig/http-message\",\"keywords\":[\"http\",\"http-message\",\"psr\",\"psr-7\",\"request\",\"response\"],\"time\":\"2016-08-06T14:39:51+00:00\"},{\"name\":\"psr/log\",\"version\":\"1.0.2\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/php-fig/log.git\",\"reference\":\"4ebe3a8bf773a19edfe0a84b6585ba3d401b724d\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d\",\"reference\":\"4ebe3a8bf773a19edfe0a84b6585ba3d401b724d\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.3.0\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.0.x-dev\"}},\"autoload\":{\"psr-4\":{\"Psr\\Log\\\":\"Psr/Log/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"PHP-FIG\",\"homepage\":\"http://www.php-fig.org/\"}],\"description\":\"Common interface for logging libraries\",\"homepage\":\"https://github.com/php-fig/log\",\"keywords\":[\"log\",\"psr\",\"psr-3\"],\"time\":\"2016-10-10T12:19:37+00:00\"},{\"name\":\"symfony/icu\",\"version\":\"v1.2.2\",\"target-dir\":\"Symfony/Component/Icu\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/symfony/icu.git\",\"reference\":\"d4d85d6055b87f394d941b45ddd3a9173e1e3d2a\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/symfony/icu/zipball/d4d85d6055b87f394d941b45ddd3a9173e1e3d2a\",\"reference\":\"d4d85d6055b87f394d941b45ddd3a9173e1e3d2a\",\"shasum\":\"\"},\"require\":{\"ext-intl\":\"*\",\"lib-icu\":\">=4.4\",\"php\":\">=5.3.3\",\"symfony/intl\":\"~2.3\"},\"type\":\"library\",\"autoload\":{\"psr-0\":{\"Symfony\\Component\\Icu\\\":\"\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Symfony Community\",\"homepage\":\"http://symfony.com/contributors\"},{\"name\":\"Bernhard Schussek\",\"email\":\"bschussek@gmail.com\"}],\"description\":\"Contains an excerpt of the ICU data and classes to load it.\",\"homepage\":\"http://symfony.com\",\"keywords\":[\"icu\",\"intl\"],\"abandoned\":\"symfony/intl\",\"time\":\"2014-07-25T09:58:17+00:00\"},{\"name\":\"symfony/symfony\",\"version\":\"v2.3.1\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/symfony/symfony.git\",\"reference\":\"0902c606b4df1161f5b786ae89f37b71380b1f23\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/symfony/symfony/zipball/0902c606b4df1161f5b786ae89f37b71380b1f23\",\"reference\":\"0902c606b4df1161f5b786ae89f37b71380b1f23\",\"shasum\":\"\"},\"require\":{\"doctrine/common\":\"~2.2\",\"php\":\">=5.3.3\",\"psr/log\":\"~1.0\",\"symfony/icu\":\"~1.0\",\"twig/twig\":\"~1.11\"},\"replace\":{\"symfony/browser-kit\":\"self.version\",\"symfony/class-loader\":\"self.version\",\"symfony/config\":\"self.version\",\"symfony/console\":\"self.version\",\"symfony/css-selector\":\"self.version\",\"symfony/debug\":\"self.version\",\"symfony/dependency-injection\":\"self.version\",\"symfony/doctrine-bridge\":\"self.version\",\"symfony/dom-crawler\":\"self.version\",\"symfony/event-dispatcher\":\"self.version\",\"symfony/filesystem\":\"self.version\",\"symfony/finder\":\"self.version\",\"symfony/form\":\"self.version\",\"symfony/framework-bundle\":\"self.version\",\"symfony/http-foundation\":\"self.version\",\"symfony/http-kernel\":\"self.version\",\"symfony/intl\":\"self.version\",\"symfony/locale\":\"self.version\",\"symfony/monolog-bridge\":\"self.version\",\"symfony/options-resolver\":\"self.version\",\"symfony/process\":\"self.version\",\"symfony/propel1-bridge\":\"self.version\",\"symfony/property-access\":\"self.version\",\"symfony/proxy-manager-bridge\":\"self.version\",\"symfony/routing\":\"self.version\",\"symfony/security\":\"self.version\",\"symfony/security-bundle\":\"self.version\",\"symfony/serializer\":\"self.version\",\"symfony/stopwatch\":\"self.version\",\"symfony/swiftmailer-bridge\":\"self.version\",\"symfony/templating\":\"self.version\",\"symfony/translation\":\"self.version\",\"symfony/twig-bridge\":\"self.version\",\"symfony/twig-bundle\":\"self.version\",\"symfony/validator\":\"self.version\",\"symfony/web-profiler-bundle\":\"self.version\",\"symfony/yaml\":\"self.version\"},\"require-dev\":{\"doctrine/data-fixtures\":\"1.0.*\",\"doctrine/dbal\":\"~2.2\",\"doctrine/orm\":\"~2.2,>=2.2.3\",\"ircmaxell/password-compat\":\"1.0.*\",\"monolog/monolog\":\"~1.3\",\"ocramius/proxy-manager\":\">=0.3.1,<0.4-dev\",\"propel/propel1\":\"1.6.*\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"2.3-dev\"}},\"autoload\":{\"psr-0\":{\"Symfony\\\":\"src/\"},\"classmap\":[\"src/Symfony/Component/HttpFoundation/Resources/stubs\",\"src/Symfony/Component/Intl/Resources/stubs\"],\"files\":[\"src/Symfony/Component/Intl/Resources/stubs/functions.php\"]},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"MIT\"],\"authors\":[{\"name\":\"Symfony Community\",\"homepage\":\"http://symfony.com/contributors\"},{\"name\":\"Fabien Potencier\",\"email\":\"fabien@symfony.com\"}],\"description\":\"The Symfony PHP framework\",\"homepage\":\"http://symfony.com\",\"keywords\":[\"framework\"],\"time\":\"2013-06-11T11:46:38+00:00\"},{\"name\":\"twig/twig\",\"version\":\"v1.35.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/twigphp/Twig.git\",\"reference\":\"daa657073e55b0a78cce8fdd22682fddecc6385f\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/twigphp/Twig/zipball/daa657073e55b0a78cce8fdd22682fddecc6385f\",\"reference\":\"daa657073e55b0a78cce8fdd22682fddecc6385f\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.3.3\"},\"require-dev\":{\"psr/container\":\"^1.0\",\"symfony/debug\":\"~2.7\",\"symfony/phpunit-bridge\":\"~3.3@dev\"},\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"1.35-dev\"}},\"autoload\":{\"psr-0\":{\"Twig_\":\"lib/\"},\"psr-4\":{\"Twig\\\":\"src/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"BSD-3-Clause\"],\"authors\":[{\"name\":\"Fabien Potencier\",\"email\":\"fabien@symfony.com\",\"homepage\":\"http://fabien.potencier.org\",\"role\":\"Lead Developer\"},{\"name\":\"Armin Ronacher\",\"email\":\"armin.ronacher@active-4.com\",\"role\":\"Project Founder\"},{\"name\":\"Twig Team\",\"homepage\":\"http://twig.sensiolabs.org/contributors\",\"role\":\"Contributors\"}],\"description\":\"Twig, the flexible, fast, and secure template language for PHP\",\"homepage\":\"http://twig.sensiolabs.org\",\"keywords\":[\"templating\"],\"time\":\"2017-09-27T18:06:46+00:00\"},{\"name\":\"yiisoft/yii\",\"version\":\"1.1.14\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/yiisoft/yii.git\",\"reference\":\"f0fee98ee84f70f1f3652f65562c9670e919cb4e\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/yiisoft/yii/zipball/f0fee98ee84f70f1f3652f65562c9670e919cb4e\",\"reference\":\"f0fee98ee84f70f1f3652f65562c9670e919cb4e\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.1.0\"},\"bin\":[\"framework/yiic\"],\"type\":\"library\",\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"BSD-3-Clause\"],\"authors\":[{\"name\":\"Qiang Xue\",\"email\":\"qiang.xue@gmail.com\",\"homepage\":\"http://www.yiiframework.com/\",\"role\":\"Founder and project lead\"},{\"name\":\"Alexander Makarov\",\"email\":\"sam@rmcreative.ru\",\"homepage\":\"http://rmcreative.ru/\",\"role\":\"Core framework development\"},{\"name\":\"Maurizio Domba\",\"homepage\":\"http://mdomba.info/\",\"role\":\"Core framework development\"},{\"name\":\"Carsten Brandt\",\"email\":\"mail@cebe.cc\",\"homepage\":\"http://cebe.cc/\",\"role\":\"Core framework development\"},{\"name\":\"Wei Zhuo\",\"email\":\"weizhuo@gmail.com\",\"role\":\"Project site maintenance and development\"},{\"name\":\"Sebastián Thierer\",\"email\":\"sebas@artfos.com\",\"role\":\"Component development\"},{\"name\":\"Jeffrey Winesett\",\"email\":\"jefftulsa@gmail.com\",\"role\":\"Documentation and marketing\"},{\"name\":\"Timur Ruziev\",\"email\":\"resurtm@gmail.com\",\"homepage\":\"http://resurtm.com/\",\"role\":\"Core framework development\"},{\"name\":\"Paul Klimov\",\"email\":\"klimov.paul@gmail.com\",\"role\":\"Core framework development\"}],\"description\":\"Yii Web Programming Framework\",\"homepage\":\"http://www.yiiframework.com/\",\"keywords\":[\"framework\",\"yii\"],\"time\":\"2013-08-12T00:12:08+00:00\"},{\"name\":\"zendframework/zendframework\",\"version\":\"2.1.0\",\"source\":{\"type\":\"git\",\"url\":\"https://github.com/zendframework/zendframework.git\",\"reference\":\"345a8cbedbe8de8a25bf18579fe54d169ac5075a\"},\"dist\":{\"type\":\"zip\",\"url\":\"https://api.github.com/repos/zendframework/zendframework/zipball/345a8cbedbe8de8a25bf18579fe54d169ac5075a\",\"reference\":\"345a8cbedbe8de8a25bf18579fe54d169ac5075a\",\"shasum\":\"\"},\"require\":{\"php\":\">=5.3.3\"},\"replace\":{\"zendframework/zend-authentication\":\"self.version\",\"zendframework/zend-barcode\":\"self.version\",\"zendframework/zend-cache\":\"self.version\",\"zendframework/zend-captcha\":\"self.version\",\"zendframework/zend-code\":\"self.version\",\"zendframework/zend-config\":\"self.version\",\"zendframework/zend-console\":\"self.version\",\"zendframework/zend-crypt\":\"self.version\",\"zendframework/zend-db\":\"self.version\",\"zendframework/zend-debug\":\"self.version\",\"zendframework/zend-di\":\"self.version\",\"zendframework/zend-dom\":\"self.version\",\"zendframework/zend-escaper\":\"self.version\",\"zendframework/zend-eventmanager\":\"self.version\",\"zendframework/zend-feed\":\"self.version\",\"zendframework/zend-file\":\"self.version\",\"zendframework/zend-filter\":\"self.version\",\"zendframework/zend-form\":\"self.version\",\"zendframework/zend-http\":\"self.version\",\"zendframework/zend-i18n\":\"self.version\",\"zendframework/zend-inputfilter\":\"self.version\",\"zendframework/zend-json\":\"self.version\",\"zendframework/zend-ldap\":\"self.version\",\"zendframework/zend-loader\":\"self.version\",\"zendframework/zend-log\":\"self.version\",\"zendframework/zend-mail\":\"self.version\",\"zendframework/zend-math\":\"self.version\",\"zendframework/zend-memory\":\"self.version\",\"zendframework/zend-mime\":\"self.version\",\"zendframework/zend-modulemanager\":\"self.version\",\"zendframework/zend-mvc\":\"self.version\",\"zendframework/zend-navigation\":\"self.version\",\"zendframework/zend-paginator\":\"self.version\",\"zendframework/zend-permissions-acl\":\"self.version\",\"zendframework/zend-permissions-rbac\":\"self.version\",\"zendframework/zend-progressbar\":\"self.version\",\"zendframework/zend-serializer\":\"self.version\",\"zendframework/zend-server\":\"self.version\",\"zendframework/zend-servicemanager\":\"self.version\",\"zendframework/zend-session\":\"self.version\",\"zendframework/zend-soap\":\"self.version\",\"zendframework/zend-stdlib\":\"self.version\",\"zendframework/zend-tag\":\"self.version\",\"zendframework/zend-test\":\"self.version\",\"zendframework/zend-text\":\"self.version\",\"zendframework/zend-uri\":\"self.version\",\"zendframework/zend-validator\":\"self.version\",\"zendframework/zend-version\":\"self.version\",\"zendframework/zend-view\":\"self.version\",\"zendframework/zend-xmlrpc\":\"self.version\"},\"require-dev\":{\"doctrine/common\":\">=2.1\",\"phpunit/phpunit\":\"3.7.*\"},\"suggest\":{\"doctrine/common\":\"Doctrine\\Common >=2.1 for annotation features\",\"ext-intl\":\"ext/intl for i18n features\",\"pecl-weakref\":\"Implementation of weak references for Zend\\Stdlib\\CallbackHandler\",\"zendframework/zendpdf\":\"ZendPdf for creating PDF representations of barcodes\",\"zendframework/zendservice-recaptcha\":\"ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form\"},\"bin\":[\"bin/classmap_generator.php\"],\"type\":\"library\",\"extra\":{\"branch-alias\":{\"dev-master\":\"2.1-dev\",\"dev-develop\":\"2.2-dev\"}},\"autoload\":{\"psr-0\":{\"Zend\\\":\"library/\",\"ZendTest\\\":\"tests/\"}},\"notification-url\":\"https://packagist.org/downloads/\",\"license\":[\"BSD-3-Clause\"],\"description\":\"Zend Framework 2\",\"homepage\":\"http://framework.zend.com/\",\"keywords\":[\"framework\",\"zf2\"],\"time\":\"2013-01-30T16:46:21+00:00\"}],\"packages-dev\":[],\"aliases\":[],\"minimum-stability\":\"stable\",\"stability-flags\":[],\"prefer-stable\":false,\"prefer-lowest\":false,\"platform\":{\"php\":\">=5.3.2\"},\"platform-dev\":[]}"}]}}

@endpoint POST /test/dep-graph
@desc Test Dep Graph
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above.}
@returns(200)
@example_request {"depGraph":{"schemaVersion":"1.2.0","pkgManager":{"name":"maven"},"pkgs":[{"id":"app@1.0.0","info":{"name":"app","version":"1.0.0"}},{"id":"ch.qos.logback:logback-core@1.0.13","info":{"name":"ch.qos.logback:logback-core","version":"1.0.13"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"app@1.0.0","deps":[{"nodeId":"ch.qos.logback:logback-core@1.0.13"}]},{"nodeId":"ch.qos.logback:logback-core@1.0.13","pkgId":"ch.qos.logback:logback-core@1.0.13","deps":[]}]}}}

@endgroup

@group monitor
@endpoint POST /monitor/dep-graph
@desc Monitor Dep Graph
@optional {org: str # The organization to test the package with. See "The Snyk organization for a request" above., prune-dep-graph: bool # Will prune large dep-graphs by removing identical sub-graphs under a top level dependency. If you receive a 422 error, it's likely that your dep-graph is too large to monitor. Pruning can help reduce the number of repetative paths but still retain at least one fully resolved path to ensure vulnerablities are not missed.}
@returns(200)
@example_request {"depGraph":{"schemaVersion":"1.2.0","pkgManager":{"name":"maven"},"pkgs":[{"id":"my-maven-app@1.0.0","info":{"name":"my-maven-app","version":"1.0.0"}},{"id":"ch.qos.logback:logback-core@1.0.13","info":{"name":"ch.qos.logback:logback-core","version":"1.0.13"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"my-maven-app@1.0.0","deps":[{"nodeId":"ch.qos.logback:logback-core@1.0.13"}]},{"nodeId":"ch.qos.logback:logback-core@1.0.13","pkgId":"ch.qos.logback:logback-core@1.0.13","deps":[]}]}}}

@endgroup

@group reporting
@endpoint POST /reporting/issues/latest
@desc Get list of latest issues
@optional {page: num(double) # The page of results to request, perPage: num(double) # The number of results to return per page (Maximum: 1000), sortBy: any # The key to sort results by, order: str # The direction to sort results., groupBy: any # Set to issue to group the same issue in multiple projects}
@returns(200) {results: [any], total: num}
@errors {400}
@example_request {"filters":{"orgs":[],"severity":["critical","high","medium","low"],"exploitMaturity":["mature","proof-of-concept","no-known-exploit","no-data"],"types":["vuln","license","configuration"],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[],"issues":[],"identifier":"","ignored":false,"patched":false,"fixable":false,"isFixed":false,"isUpgradable":false,"isPatchable":false,"isPinnable":false,"priorityScore":{"min":0,"max":1000}}}

@endpoint POST /reporting/issues
@desc Get list of issues
@required {from: str # The date you wish to fetch results from, in the format `YYYY-MM-DD`, to: str # The date you wish to fetch results until, in the format `YYYY-MM-DD`}
@optional {page: num(double) # The page of results to request, perPage: num(double) # The number of results to return per page (Maximum: 1000), sortBy: any # The key to sort results by, order: str # The direction to sort results., groupBy: any # Set to issue to group the same issue in multiple projects}
@returns(200) {results: [any], total: num}
@errors {400}
@example_request {"filters":{"orgs":[],"severity":["critical","high","medium","low"],"exploitMaturity":["mature","proof-of-concept","no-known-exploit","no-data"],"types":["vuln","license","configuration"],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[],"issues":[],"identifier":"","ignored":false,"patched":false,"fixable":false,"isFixed":false,"isUpgradable":false,"isPatchable":false,"isPinnable":false,"priorityScore":{"min":0,"max":1000}}}

@endpoint POST /reporting/counts/issues/latest
@desc Get latest issue counts
@optional {groupBy: any # The field to group results by}
@returns(200)
@errors {400}
@example_request {"filters":{"orgs":[],"severity":["critical","high","medium","low"],"types":["vuln","license","configuration"],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[],"ignored":false,"patched":false,"fixable":false,"isUpgradable":false,"isPatchable":false,"isPinnable":false,"priorityScore":{"min":0,"max":1000}}}

@endpoint POST /reporting/counts/issues
@desc Get issue counts
@required {from: str # The date you wish to fetch results from, in the format `YYYY-MM-DD`, to: str # The date you wish to fetch results until, in the format `YYYY-MM-DD`}
@optional {groupBy: any # The field to group results by}
@returns(200)
@errors {400}
@example_request {"filters":{"orgs":[],"severity":["critical","high","medium","low"],"types":["vuln","license","configuration"],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[],"ignored":false,"patched":false,"fixable":false,"isUpgradable":false,"isPatchable":false,"isPinnable":false,"priorityScore":{"min":0,"max":1000}}}

@endpoint POST /reporting/counts/projects/latest
@desc Get latest project counts
@returns(200)
@errors {400}
@example_request {"filters":{"orgs":[],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[]}}

@endpoint POST /reporting/counts/projects
@desc Get project counts
@required {from: str # The date you wish to fetch results from, in the format `YYYY-MM-DD`, to: str # The date you wish to fetch results until, in the format `YYYY-MM-DD`}
@returns(200)
@errors {400}
@example_request {"filters":{"orgs":[],"languages":["node","javascript","ruby","java","scala","python","golang","php","dotnet","swift-objective-c","elixir","docker","linux","dockerfile"],"projects":[]}}

@endpoint POST /reporting/counts/tests
@desc Get test counts
@required {from: str # The date you wish to count tests from, in the format `YYYY-MM-DD`, to: str # The date you wish to count tests until, in the format `YYYY-MM-DD`}
@optional {groupBy: any # The field to group results by}
@returns(200)
@errors {400}
@example_request {"filters":{"orgs":[],"isPrivate":false,"issuesPrevented":false,"projects":[]}}

@endgroup

@group org
@endpoint POST /org/{orgId}/webhooks
@desc Create a webhook
@required {orgId: str # The organization ID to list projects for. The `API_KEY` must have access to this organization.}
@returns(200)
@example_request {"url":"https://my.app.com/webhook-handler/snyk123","secret":"a8be22bb7bed43a3ac24de3580093560"}

@endpoint GET /org/{orgId}/webhooks
@desc List webhooks
@required {orgId: str # The organization ID to list projects for. The `API_KEY` must have access to this organization.}
@returns(200)

@endpoint GET /org/{orgId}/webhooks/{webhookId}
@desc Retrieve a webhook
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., webhookId: str # The webhook ID.}
@returns(200)

@endpoint DELETE /org/{orgId}/webhooks/{webhookId}
@desc Delete a webhook
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., webhookId: str # The webhook ID.}
@returns(200)

@endpoint POST /org/{orgId}/webhooks/{webhookId}/ping
@desc Ping a webhook
@required {orgId: str # The organization ID the project belongs to. The `API_KEY` must have access to this organization., webhookId: str # The webhook ID.}
@returns(200)

@endgroup

@end
