NAV
shell

Introduction

Welcome to the Fullstop API! You can use our API to access Fullstop API endpoints, which can get information on violations, lifecycle, and useful informations in our database.

We have language bindings in Shell! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

This API documentation page was created with Slate based on Fullstop. Feel free to edit it and use it as a base for your own API’s documentation.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl -X GET -H "Authorization: Bearer $(zign token uid)" --header "Accept: application/json" "api_endpoint_here"

Make sure to use zign or replace $(zign token uid) with your Oauth2 token.

Fullstop uses Oauth2 tokens to allow access to the API.

Fullstop expects Oauth2 tokens to be included in all API requests to the server in a header that looks like the following:

Authorization: Barer $(zign token uid)

Fullstop

Put instance log in S3

curl -X GET -H "Authorization: Bearer $(zign token uid)" --header "Accept: application/json" "http://example.com/api/instance-logs"

The above command need a JSON structured body like this:

{
  "accountId": "string",
  "instanceBootTime": "2016-05-10T09:48:34.309Z",
  "instanceId": "string",
  "logData": "string",
  "logType": "USER_DATA",
  "region": "string"
}

Get All violations

curl -X GET -H "Authorization: Bearer $(zign token uid)" --header "Accept: application/json" "http://example.com/api/violations"

The above command returns JSON structured like this:

[
  {
    "accountId": "string",
    "applicationId": "string",
    "applicationVersionId": "string",
    "comment": "string",
    "created": "date-time",
    "createdBy": "string",
    "eventId": "string",
    "id": 0,
    "instanceId": "string",
    "lastModified": "date-time",
    "lastModifiedBy": "string",
    "metaInfo": {},
    "pluginFullyQualifiedClassName": "string",
    "region": "string",
    "ruleID": 0,
    "username": "string",
    "version": 0,
    "violationType": {
      "auditRelevant": true,
      "created": "date-time",
      "createdBy": "string",
      "helpText": "string",
      "id": "string",
      "lastModified": "date-time",
      "lastModifiedBy": "string",
      "priority": 0,
      "title": "string",
      "version": 0,
      "violationSeverity": 0
    }
  }
]

This endpoint retrieves all violations.

HTTP Request

GET http://example.com/api/violations

Query Parameters

Parameter Type Default Description
accounts Array[string] false Include only violations in these accounts.
from date-time false Include only violations that happened after this point in time
to date-time false Include only violations that happened up to this point in time
last-violation long false Include only violations after the one with this id
checked boolean false Include only violations where checked field equals this value (i.e. resolved violations)
severity integer false Include only violations with a certain severity
priority integer false Include only violations with a certain priority
audit-relevant boolean false Include only violations that are audit relevant
type string false Include only violations with a certain type
types Array[string] false Include only violations with a certain types
application-ids Array[string] false Include only violations with a certain application name
application-version-ids Array[string] false nclude only violations with a certain application version
whitelisted boolean false show also whitelisted vioaltions
pageable pageable false select page

Get a Specific Violation

curl -X GET -H "Authorization: Bearer $(zign token uid)" --header "Accept: application/json" "http://example.com/api/violations/2"

The above command returns JSON structured like this:

{
  "accountId": "string",
  "applicationId": "string",
  "applicationVersionId": "string",
  "comment": "string",
  "created": "date-time",
  "createdBy": "string",
  "eventId": "string",
  "id": 0,
  "instanceId": "string",
  "lastModified": "date-time",
  "lastModifiedBy": "string",
  "metaInfo": {},
  "pluginFullyQualifiedClassName": "string",
  "region": "string",
  "ruleID": 0,
  "username": "string",
  "version": 0,
  "violationType": {
    "auditRelevant": true,
    "created": "date-time",
    "createdBy": "string",
    "helpText": "string",
    "id": "string",
    "lastModified": "date-time",
    "lastModifiedBy": "string",
    "priority": 0,
    "title": "string",
    "version": 0,
    "violationSeverity": 0
  }
}

This endpoint retrieves a specific violation.

HTTP Request

GET http://example.com/api/violations/<ID>

URL Parameters

Parameter Description
ID The ID of the violation to retrieve

Errors

Error Code Meaning
400 Bad Request – Your request is bad
401 Unauthorized – Your token is not valid or wrong
403 Forbidden – The resource requested is hidden for administrators only
404 Not Found – The specified violation could not be found
405 Method Not Allowed – You tried to access a resource with an invalid method
406 Not Acceptable – You requested a format that isn’t json
410 Gone – The resource requested has been removed from our servers
418 I’m a teapot
429 Too Many Requests – You’re requesting too many violations! Slow down!
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarily offline for maintenance. Please try again later.