{
  "algorithm": {
    "parameters": [
      {
        "name": "args",
        "type": "ArgsListActivities"
      }
    ],
    "statements": [],
    "typeReturn": "list(Activity)",
    "variables": []
  },
  "routing": {
    "method": "GET",
    "parameters": [
      {
        "bind": "args.name",
        "in": "Query",
        "name": "name",
        "remarks": "name"
      },
      {
        "bind": "args.opportunityName",
        "in": "Query",
        "name": "opportunityName",
        "remarks": "opportunityName"
      },
      {
        "bind": "args.activityType",
        "in": "Query",
        "name": "activityType",
        "remarks": "activityType"
      },
      {
        "bind": "args.status",
        "in": "Query",
        "name": "status",
        "remarks": "status"
      },
      {
        "bind": "args.filters",
        "in": "Query",
        "name": "filters",
        "remarks": "Specific filters. Format: field [operator] value.  ie: name=mike  age>=28"
      },
      {
        "bind": "args.fields",
        "in": "Query",
        "name": "fields",
        "remarks": "Specific fields."
      },
      {
        "bind": "args.offset",
        "in": "Query",
        "name": "offset",
        "remarks": "Offset row"
      },
      {
        "bind": "args.pageNumber",
        "in": "Query",
        "name": "pageNumber",
        "remarks": "Page number"
      },
      {
        "bind": "args.limit",
        "in": "Query",
        "name": "limit",
        "remarks": "Limit row count. 0 implies no limit"
      },
      {
        "bind": "args.sortBy",
        "in": "Query",
        "name": "sortBy",
        "remarks": "Sort by fields. Minus implies descendent ie: \"-field1\""
      }
    ],
    "path": "/activities",
    "remarks": "List of activities",
    "responses": [
      {
        "httpStatus": "200",
        "remarks": "OK"
      },
      {
        "errorName": "BadRequest",
        "httpStatus": "400",
        "remarks": "Bad request"
      },
      {
        "errorName": "Unauthorized",
        "httpStatus": "401",
        "remarks": "Unauthorized"
      },
      {
        "errorName": "NotAcceptable",
        "httpStatus": "406",
        "remarks": "Not Acceptable"
      },
      {
        "errorName": "InternalServerError",
        "httpStatus": "500",
        "remarks": "Error"
      }
    ]
  }
}