Centercode API API Reference

The Centercode API is a collection of endpoints providing integration opportunities with a variety of powerful platform features. The API is driven by HTTP and inspired by popular REST design patterns.

Resource Summmary

Data Packages

Data Packages allow third-party systems to retrieve customizable collections of data from the Centercode Platform from either the Community or Project scope. This enables further reporting (e.g. Tableau), dashboarding, data warehousing, and other archival or external data needs outside the Centercode Platform. Data Packages are driven by the Centercode Reporting Engine, so the Project, User, or Feedback fields returned by a Data Package endpoint are completely customizable and can be formatted as either JSON or CSV.

Video Guide | Simple Guide

Record Lookups

Record Lookups allow third-party systems to look up a specific Project, User, or Feedback within in the Centercode Platform at either the Community or Project scope. Example use cases include checking a User's score, determining if a Project is active, and retrieving a Feedback status to name a few. Record Lookups are driven by the Centercode Reporting Engine, so the Project, User, or Feedback fields returned by a Record Lookup endpoint are completely customizable and can be formatted as either JSON or CSV.

Video Guide | Simple Guide

Listeners

Listeners allow allow third-party systems to perform three types of actions against a targeted User or Feedback in the Centercode Platform. The available actions include executing a Macro, leaving a Comment and adding custom data.

Video Guide | Simple Guide

Macro Listeners

Macro Listeners allow a third-party system to execute a Macro against a single User or Feedback in the Centercode Platform at either the Community or Project scope. The full power of the Macro Engine is available to remotely automate a customizable series of actions such as scoring a User, adjusting Team membership, sending email, etc.

Comment Listeners

Comment Listeners allow a third-party system to add a comment to a User or Feedback in the Centercode Platform at either the Community or Project scope. One example would be to automatically thank a user for submitting feedback or performing some other task from outside the Centercode Platform.

Data Listeners

Data Listeners allow a third-party system to extended the data associated with a User or Feedback within the Centercode Platform at either the Community or Project scope. This extended data becomes part of the Data Engine which can then be leveraged in User and Feedback Management, Reporting, or even in other integrations.

External Users (User Imports)

External Users is a new User Onboarding Source type which allows new Centercode users to be invited or added programmatically by third-party systems. This feature generates a simple URL which can be called with an email address in order to initiate creating a new user.

Video Guide | Simple Guide

External Feedback

External Feedback allows new instances of Feedback to be dynamically generated from third-party systems. This is intended to allow for not only external user feedback (e.g. web or mobile submitted), but also telematics data (e.g. crash reports, usage data). External feedback can be submitted under the context of a specific user or anonymously. File attachments can also be uploaded to your submitted feedback.

Video Guide | Simple Guide

Releases

Releases allows new instances of project releases to be dynamically generated from third-party systems. It is possible to attach file downloads to releases either by referencing files in the Amazon S3 FTP bucket connected to your implementation, or by linking to externally hosted file URLs.

Simple Guide

Access

An API request must inlclude an API key to access the target endpoint. The API key must be provided via an apiKey query string parameter. A unique aspect of the Centercode API is that when an endpoint is established, it gets exclusively associated with an API key. That means an API key can be used to authorize multiple endpoints, but each endpoint can only be authorized by a single API key.

Learn how to create an API key in the following guide:
https://help.centercode.com/creating-your-community-level-api-key

All requests must be made over HTTPS.

Making Requests

The Centercode API is driven by HTTP and inspired by popular REST design patterns. Each endpoint can be invoked by standard HTTP methods, but currently only the GET and POST HTTP methods are supported. JSON is the primary message format, but the Data Package and Record Lookup endpoints can also be configured to return content in CSV format.

Cross-Origin Resource Sharing (CORS) is not currently supported.

Errors

Status Code Message
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
415 Unsupported Media Type
429 Too Many Requests
500 Internal Server Error


Standard Error Response

{
    "status": 400,
    "description": "Something is not fine."
}

Invalid Parameter Error Response

{
    "status": 400,
    "description": "The specified request is invalid.",
    "invalidParameters": [
        {
            "name": "Find",
            "description": "A lookup query is required."
        }
    ]
}

Asynchronous Operations

The Macro Listener and User Import endpoints each trigger a queued opperation so the operation results cannot be immediately determined. To address this situation, the response includes a separate endpoint that can be called to return the result of the queued opperation.

Rate limiting

Each endpoint is limited to 10 requests per second from a single IP address. The following headers are returned with every response to help you avoid and handle exceeding the limit:

Header Description
X-Rate-Limit-Limit The rate limit period
X-Rate-Limit-Remaining Number of request remaining
X-Rate-Limit-Reset UTC date time (ISO 8601) when the limits resets
API Base URL
https://company.centercode.com/api/v1
Schemes: https
Version: 1

Data Packages

Community User Data Package

GET /userDataPackages/{reportElementKey}

Returns a community user based report element dataset.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/userDataPackages/NegativeScore?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
reportElementKey: string
in path

The configured report element key

page: string
in query

The desired page number

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "paging": {
    "currentPage": 1,
    "totalPages": 1,
    "resultsPerPage": 1000,
    "totalResults": 1
  },
  "fields": [
    {
      "name": "First L. Name",
      "dataType": "string"
    },
    {
      "name": "Community Score Total",
      "dataType": "integer"
    }
  ],
  "data": [
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Jim C.",
        "values": [
          "Jim C."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "-825000",
        "values": [
          -825000
        ]
      }
    ]
  ]
}

Community Project Data Package

GET /projectDataPackages/{reportElementKey}

Returns a project based report element dataset.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projectDataPackages/UserTotals?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
reportElementKey: string
in path

The configured report element key

page: string
in query

The desired page number

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "paging": {
    "currentPage": 1,
    "totalPages": 1,
    "resultsPerPage": 1000,
    "totalResults": 21
  },
  "fields": [
    {
      "name": "Project Name",
      "dataType": "string"
    },
    {
      "name": "Creation Date",
      "dataType": "date"
    },
    {
      "name": "Active Users",
      "dataType": "integer"
    },
    {
      "name": "Total Users",
      "dataType": "integer"
    },
    {
      "name": "Total Survey Responses",
      "dataType": "integer"
    },
    {
      "name": "Total Feedback",
      "dataType": "integer"
    }
  ],
  "data": [
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Spaceship V2 Beta",
        "values": [
          "Spaceship V2 Beta"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "date",
        "computedValue": "2016-10-26T22:30:56",
        "values": [
          "2016-10-26T22:30:56"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "9",
        "values": [
          9
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "9",
        "values": [
          9
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Widget Pro",
        "values": [
          "Widget Pro"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "date",
        "computedValue": "2016-03-01T01:50:07",
        "values": [
          "2016-03-01T01:50:07"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "0",
        "values": [
          0
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Widget Pro Alpha",
        "values": [
          "Widget Pro Alpha"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "date",
        "computedValue": "2014-04-14T20:31:10",
        "values": [
          "2014-04-14T20:31:10"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "4",
        "values": [
          4
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      }
    ]
  ]
}

Project User Data Package

GET /projects/{projectKey}/userDataPackages/{reportElementKey}

Returns a project user based report element dataset.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userDataPackages/UserFeedbackTotals?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

reportElementKey: string
in path

The configured report element key

page: string
in query

The desired page number

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "paging": {
    "currentPage": 1,
    "totalPages": 1,
    "resultsPerPage": 1000,
    "totalResults": 8
  },
  "fields": [
    {
      "name": "First L. Name",
      "dataType": "string"
    },
    {
      "name": "# of Bug Report Submitted",
      "dataType": "integer"
    },
    {
      "name": "# of Bug Report Replies",
      "dataType": "integer"
    },
    {
      "name": "# of Bug Report Votes",
      "dataType": "integer"
    },
    {
      "name": "# of Suggestion Submitted",
      "dataType": "integer"
    },
    {
      "name": "# of Suggestion Replies",
      "dataType": "integer"
    },
    {
      "name": "# of Suggestion Votes",
      "dataType": "integer"
    },
    {
      "name": "Project Score Total",
      "dataType": "integer"
    }
  ],
  "data": [
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Alex B.",
        "values": [
          "Alex B."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "0",
        "values": [
          0
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Annie H.",
        "values": [
          "Annie H."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "11",
        "values": [
          11
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "7",
        "values": [
          7
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "0",
        "values": [
          0
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Betsy F.",
        "values": [
          "Betsy F."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "0",
        "values": [
          0
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Jericho S.",
        "values": [
          "Jericho S."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "6",
        "values": [
          6
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "4",
        "values": [
          4
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "jim a.",
        "values": [
          "jim a."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "0",
        "values": [
          0
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Jim C.",
        "values": [
          "Jim C."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "27",
        "values": [
          27
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "31",
        "values": [
          31
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "14",
        "values": [
          14
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "9",
        "values": [
          9
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Malcolm G.",
        "values": [
          "Malcolm G."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "4",
        "values": [
          4
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "4",
        "values": [
          4
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "Morgana H.",
        "values": [
          "Morgana H."
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "4",
        "values": [
          4
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      },
      {
        "fieldOrdinal": 5,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 6,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      },
      {
        "fieldOrdinal": 7,
        "dataType": "integer",
        "computedValue": "",
        "values": []
      }
    ]
  ]
}

Project Feedback Data Package

GET /projects/{projectKey}/feedbackDataPackages/{reportElementKey}

Returns a feedback based report element dataset.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackDataPackages/FeedbackScores?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

reportElementKey: string
in path

The configured report element key

page: string
in query

The desired page number

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "paging": {
    "currentPage": 1,
    "totalPages": 1,
    "resultsPerPage": 1000,
    "totalResults": 5
  },
  "fields": [
    {
      "name": "ID",
      "dataType": "string"
    },
    {
      "name": "Summary",
      "dataType": "string"
    },
    {
      "name": "Popularity Score",
      "dataType": "integer"
    },
    {
      "name": "Impact Score",
      "dataType": "integer"
    },
    {
      "name": "# of Replies",
      "dataType": "integer"
    }
  ],
  "data": [
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "BUG-0001",
        "values": [
          "BUG-0001"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "string",
        "computedValue": "WiFi Not Connecting",
        "values": [
          "WiFi Not Connecting"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "11",
        "values": [
          11
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "94",
        "values": [
          94
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "3",
        "values": [
          3
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "BUG-0002",
        "values": [
          "BUG-0002"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "string",
        "computedValue": "WiFi Signal Weak",
        "values": [
          "WiFi Signal Weak"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "10",
        "values": [
          10
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "30",
        "values": [
          30
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "BUG-0003",
        "values": [
          "BUG-0003"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "string",
        "computedValue": "Install Hanging on step 3",
        "values": [
          "Install Hanging on step 3"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "8",
        "values": [
          8
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "48",
        "values": [
          48
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "2",
        "values": [
          2
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "BUG-0006",
        "values": [
          "BUG-0006"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "string",
        "computedValue": "iOS sluggish and app crashes after a few seconds",
        "values": [
          "iOS sluggish and app crashes after a few seconds"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "13",
        "values": [
          13
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "43",
        "values": [
          43
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "1",
        "values": [
          1
        ]
      }
    ],
    [
      {
        "fieldOrdinal": 0,
        "dataType": "string",
        "computedValue": "BUG-0018",
        "values": [
          "BUG-0018"
        ]
      },
      {
        "fieldOrdinal": 1,
        "dataType": "string",
        "computedValue": "App Notifications Too Frequent",
        "values": [
          "App Notifications Too Frequent"
        ]
      },
      {
        "fieldOrdinal": 2,
        "dataType": "integer",
        "computedValue": "9",
        "values": [
          9
        ]
      },
      {
        "fieldOrdinal": 3,
        "dataType": "integer",
        "computedValue": "29",
        "values": [
          29
        ]
      },
      {
        "fieldOrdinal": 4,
        "dataType": "integer",
        "computedValue": "5",
        "values": [
          5
        ]
      }
    ]
  ]
}

Record Lookups

Community User Lookup

GET /userRecordLookups/{reportElementKey}

Returns a single report element record matching a specified search value.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/userRecordLookups/UserScore?find=jim%40centercode.com?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
reportElementKey: string
in path

The configured report element key

find: string
in query

The lookup query based on resource item type

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "data": [
    {
      "field": "First L. Name",
      "dataType": "string",
      "computedValue": "Jim C.",
      "values": [
        "Jim C."
      ]
    },
    {
      "field": "Community Score Total",
      "dataType": "integer",
      "computedValue": "-825000",
      "values": [
        -825000
      ]
    }
  ]
}

Community Project Lookup

GET /projectRecordLookups/{reportElementKey}

Returns a single project based report element record matching the specified lookup value.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projectRecordLookups/ProjectStats?find=WidgetPro?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
reportElementKey: string
in path

The configured report element key

find: string
in query

The lookup query based on resource item type

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "data": [
    {
      "field": "Project Name",
      "dataType": "string",
      "computedValue": "Widget XL Beta",
      "values": [
        "Widget XL Beta"
      ]
    },
    {
      "field": "Active Users",
      "dataType": "integer",
      "computedValue": "28",
      "values": [
        28
      ]
    },
    {
      "field": "Total Users",
      "dataType": "integer",
      "computedValue": "28",
      "values": [
        28
      ]
    },
    {
      "field": "Total Survey Responses",
      "dataType": "integer",
      "computedValue": "18",
      "values": [
        18
      ]
    },
    {
      "field": "Total Feedback",
      "dataType": "integer",
      "computedValue": "52",
      "values": [
        52
      ]
    }
  ]
}

Project User Lookup

GET /projects/{projectKey}/userRecordLookups/{reportElementKey}

Returns a single report element record matching a specified search value.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userRecordLookups/UserStats?find=jim%40centercode.com?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

reportElementKey: string
in path

The configured report element key

find: string
in query

The lookup query based on resource item type

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "data": [
    {
      "field": "First L. Name",
      "dataType": "string",
      "computedValue": "Jim C.",
      "values": [
        "Jim C."
      ]
    },
    {
      "field": "# of Bug Report Submitted",
      "dataType": "integer",
      "computedValue": "7",
      "values": [
        7
      ]
    },
    {
      "field": "# of Bug Report Replies",
      "dataType": "integer",
      "computedValue": "24",
      "values": [
        24
      ]
    },
    {
      "field": "# of Bug Report Votes",
      "dataType": "integer",
      "computedValue": "14",
      "values": [
        14
      ]
    },
    {
      "field": "# of Suggestion Submitted",
      "dataType": "integer",
      "computedValue": "10",
      "values": [
        10
      ]
    },
    {
      "field": "# of Suggestion Replies",
      "dataType": "integer",
      "computedValue": "2",
      "values": [
        2
      ]
    },
    {
      "field": "# of Suggestion Votes",
      "dataType": "integer",
      "computedValue": "",
      "values": []
    },
    {
      "field": "Project Score Total",
      "dataType": "integer",
      "computedValue": "",
      "values": []
    }
  ]
}

Project Feedback Lookup

GET /projects/{projectKey}/feedbackRecordLookups/{reportElementKey}

Returns a single report element record matching a specified search value.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackRecordLookups/BugReports?find=BUG-0001?page=1&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

reportElementKey: string
in path

The configured report element key

find: string
in query

The lookup query based on resource item type

200 OK

Success

Response Content-Types: application/json, text/csv
Response Example (200 OK)
{
  "data": [
    {
      "field": "ID",
      "dataType": "string",
      "computedValue": "BUG-0001",
      "values": [
        "BUG-0001"
      ]
    },
    {
      "field": "Summary",
      "dataType": "string",
      "computedValue": "WiFi Not Connecting",
      "values": [
        "WiFi Not Connecting"
      ]
    },
    {
      "field": "Feature",
      "dataType": "string",
      "computedValue": "WiFi Connection",
      "values": [
        "WiFi Connection"
      ]
    },
    {
      "field": "Steps to Reproduce",
      "dataType": "string",
      "computedValue": "No matter how hard I try, I can't get the Wifi to connect at all.\r\n\r\n1. Install the hardware\r\n2. Install the app\r\n3. Run through app setup.\r\n\r\nWifi is never detected.",
      "values": [
        "No matter how hard I try, I can't get the Wifi to connect at all.\r\n\r\n1. Install the hardware\r\n2. Install the app\r\n3. Run through app setup.\r\n\r\nWifi is never detected."
      ]
    },
    {
      "field": "Status",
      "dataType": "string",
      "computedValue": "Logged Internally",
      "values": [
        "Logged Internally"
      ]
    },
    {
      "field": "Closure Reason",
      "dataType": "string",
      "computedValue": "",
      "values": []
    },
    {
      "field": "Severity",
      "dataType": "string",
      "computedValue": "Critical",
      "values": [
        "Critical"
      ]
    },
    {
      "field": "Blocker",
      "dataType": "string",
      "computedValue": "Yes",
      "values": [
        "Yes"
      ]
    },
    {
      "field": "Centercode Resolution",
      "dataType": "string",
      "computedValue": "",
      "values": []
    },
    {
      "field": "Priority",
      "dataType": "string",
      "computedValue": "",
      "values": []
    },
    {
      "field": "# of Occurrences",
      "dataType": "integer",
      "computedValue": "3",
      "values": [
        3
      ]
    },
    {
      "field": "Date Added",
      "dataType": "date",
      "computedValue": "2015-02-08T19:37:00",
      "values": [
        "2015-02-08T19:37:00"
      ]
    },
    {
      "field": "Jira ID",
      "dataType": "string",
      "computedValue": "SBX-957",
      "values": [
        "SBX-957"
      ]
    }
  ]
}

Macro Listeners

Community User Macro

POST /userMacroListeners/{listenerKey}

Triggers a macro to run against a single community user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/userMacroListeners/Enrich?find=jim&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data ""
listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

202 Accepted

Accepted

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "statusEndpoint": "https://company.centercode.com/api/v1/userMacroListeners/Enrich/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead"
}

Community User Macro Status

GET /userMacroListeners/{listenerKey}/status/{statusId}

Returns the status of a community user macro.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/userMacroListeners/Enrich/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
listenerKey: string
in path

The configured listener key

statusId: string
in path

The queued macro status ID

Success

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "Succeeded"
}

Project User Macro

POST /projects/{projectKey}/userMacroListeners/{listenerKey}

Triggers a macro to run against a single project user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userMacroListeners/Promotion?find=jim&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data ""
projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

202 Accepted

Accepted

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "statusEndpoint": "https://company.centercode.com/api/v1/projects/WidgetPro/userMacroListeners/Promotion/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead"
}

Project User Macro Status

GET /projects/{projectKey}/userMacroListeners/{listenerKey}/status/{statusId}

Returns the status of a project user macro.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userMacroListeners/Promotion/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

statusId: string
in path

The queued user import status ID

Success

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "Succeeded"
}

Project Feedback Macro

POST /projects/{projectKey}/feedbackMacroListeners/{listenerKey}

Triggers a macro to run against a single feedback submission.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackMacroListeners/ClosedInJIRA?find=BUG-0001&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data ""
projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

202 Accepted

Accepted

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "statusEndpoint": "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackMacroListeners/ClosedInJIRA/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead"
}

Project Feedback Macro Status

GET /projects/{projectKey}/feedbackMacroListeners/{listenerKey}/status/{statusId}

Returns the status of a project feedback macro.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackMacroListeners/ClosedInJIRA/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

statusId: string
in path

The queued macro status ID

Success

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "Succeeded"
}

Comment Listeners

Community User Comment

POST /userCommentListeners/{listenerKey}

Adds a comment to the profile of the specified user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/userCommentListeners/UserComment?find=nathan&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"author": "admin@centercode.com", "message": "Please consider this user in subscription tests."}'

Any valid JSON structure.

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "author": "admin@centercode.com",
  "message": "Please consider this user in subscription tests."
}

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "author": "admin@centercode.com",
  "message": "Please consider this user in subscription tests."
}

Project User Comment

POST /projects/{projectKey}/userCommentListeners/{listenerKey}

Adds a comment to the profile of the specified user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userCommentListeners/UserComment?find=nathan&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"author": "admin@centercode.com", "message": "This user has been very active in the app."}'

Any valid JSON structure.

projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "author": "admin@centercode.com",
  "message": "This user has been very active in the app."
}

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "author": "admin@centercode.com",
  "message": "This user has proven to be very active in the app!."
}

Project Feedback Comment

POST /projects/{projectKey}/feedbackCommentListeners/{listenerKey}

Add a comment to the specified feedback submission.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackCommentListeners/BugComment?find=BUG-0001&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"author": "admin@centercode.com", "message": "Thanks for your bug report, keep up the good work!"}'

Any valid JSON structure.

projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "author": "admin@centercode.com",
  "message": "Thanks for your bug report, keep up the good work!"
}

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "author": "admin@centercode.com",
  "message": "Thanks for your bug report, keep up the good work!"
}

Data Listeners

Community User Data

POST /userDataListeners/{listenerKey}

Save external data to the profile of the specified user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userDataListeners/Performance?find=sam%40gmail.com&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"performance": "Excellent"}'

Any valid JSON structure.

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "performance": "Excellent"
}
201 Created

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "fields": [
    {
      "dataType": "string",
      "label": "Tester Tier",
      "parameter": "performance",
      "value": "Excellent",
      "matched": true
    }
  ]
}

Project User Data

POST /projects/{projectKey}/userDataListeners/{listenerKey}

Save external data to the profile of the specified user.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userDataListeners/Subscription?find=jim&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"subscription": "Enterprise"}'

Any valid JSON structure.

projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "subscription": "Enterprise"
}
201 Created

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "fields": [
    {
      "dataType": "string",
      "label": "Subscription Level",
      "parameter": "subscription",
      "value": "Enterprise",
      "matched": true
    }
  ]
}

Project Feedback Data

POST /projects/{projectKey}/feedbackDataListeners/{listenerKey}

Save external data to the specified feedback submission.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackDataListeners/CrashLog?find=BUG-0001&apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"crashlog": "~/Library/Logs/CrashReporter/MobileDevice/iPhone8s"}'

Any valid JSON structure.

projectKey: string
in path

The configured project key

listenerKey: string
in path

The configured listener key

find: string
in query

The lookup query based on resource item type

Request Content-Types: application/json
Request Example
{
  "crashlog": "~/Library/Logs/CrashReporter/MobileDevice/iPhone8s"
}
201 Created

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "fields": [
    {
      "dataType": "string",
      "label": "Crash Log",
      "parameter": "crashlog",
      "value": "~/Library/Logs/CrashReporter/MobileDevice/iPhone8s",
      "matched": true
    }
  ]
}

User Imports

Community User Import

POST /userImports/{sourceKey}

Import a user into a community by providing an email address.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/userImports/Mobile?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"email": "person@gmail.com"}'

User import

sourceKey: string
in path

The configured user import source key

Request Content-Types: application/json
Request Example
{
  "email": "person@gmail.com"
}
202 Accepted

Accepted

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "statusEndpoint": "https://company.centercode.com/api/v1/userImports/Mobile/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead"
}

Community User Import Status

GET /userImports/{sourceKey}/status/{statusId}

Check the status of a user import.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/userImports/Mobile/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
sourceKey: string
in path

The configured user import source key

statusId: string
in path

The queued user import status ID

Success

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "Succeeded"
}

Project User Import

POST /projects/{projectKey}/userImports/{sourceKey}

Import a user into a project by providing an email address.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userImports/Mobile?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"email": "person@gmail.com"}'

User import

projectKey: string
in path

The configured project key

sourceKey: string
in path

The configured user import source key

Request Content-Types: application/json
Request Example
{
  "email": "person@gmail.com"
}
202 Accepted

Accepted

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "statusEndpoint": "https://company.centercode.com/api/v1/projects/WidgetPro/userImports/Mobile/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead"
}

Project User Import Status

GET /projects/{projectKey}/userImports/{sourceKey}/status/{statusId}

Check the status of a user import.

CURL Example

curl --request GET \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/userImports/Mobile/status/a4b50639-ebcf-2a3e-933d-20a6c5c17ead?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45"
projectKey: string
in path

The configured project key

sourceKey: string
in path

The configured user import source key

statusId: string
in path

The queued user import status ID

Success

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "Succeeded"
}

Feedback

Create Feedback

POST /projects/{projectKey}/feedback/{feedbackKey}

Submits feedback to the specified project.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedback/Mobile?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"submitter": "jim@centercode.com", "title": "Lighting Presets Should be More Robust", "description": "I wish the app would have more lighting preset options.", "topic": 23795}'

Feedback parameter data

projectKey: string
in path

The configured project key

feedbackKey: string
in path

Feedback key

Request Content-Types: application/json
Request Example
{
  "submitter": "jim@centercode.com",
  "summary": "Lighting Presets Should be More Robust",
  "description": "I really wish the app would have more lighting preset options.",
  "topic": 23795
}
201 Created

Feedback Created

The fileElements object is only output if file elements are set up in the external feedback source configuration. This object includes the base endpoint url (appropriate API key must be appended) for uploading files to the created feedback for each file element that has been configured.

Response Content-Types: application/json
Response Example (201 Created)
{
  "id": "8203093f-7388-4d63-a88d-157cb85e5400",
  "key": "SUG-0023",
  "url": "https://company.centercode.com/project/feedback/view.html?cap=830150c24a114b466c512881db6cfdd0&uf=8203593f73884c63a80d147cb75e5400",
  "fileElements": [
    {
      "title": "Screenshot",
      "key": "Screenshot",
      "url": "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackTypes/Mobile/feedback/SUG-0023/fileElements/Screenshot",
      "acceptsMultipleAttachments": true
    },
    {
      "title": "Crash Log",
      "key": "CrashLog",
      "url": "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackTypes/Mobile/feedback/SUG-0023/fileElements/CrashLog",
      "acceptsMultipleAttachments": false
    }
  ]
}

Upload File Attachment

POST /projects/{projectKey}/feedbackTypes/{feedbackTypeKey}/feedback/{feedbackKey}/fileElements/{fileElementKey}

Uploads a single file attachment to a feedback submission with each request. Supports multipart/form-data requests under 2gb.

Request Content-Type: multipart/form-data

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/feedbackTypes/Mobile/feedback/SUG-0023/fileElements/Screenshot?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--form "file=@screenshot.png"
projectKey: string
in path

The configured project key

feedbackTypeKey: string
in path

The configured feedback type key

feedbackKey: string
in path

The feedback key referencing an individual feedback submission (i.e. SUG-0023)

fileElementKey: string
in path

The configured key that references a specific file element in the feedback type form

file: file
in formData

The file key in formData contains the path of the file to be uploaded

201 Created

Attachment Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "id": "8203093f-7388-4d63-a88d-157cb85e5400",
  "fileElementKey": "Screenshot",
  "fileName": "screenshot.png",
  "feedbackKey": "SUG-0023",
  "feedbackUrl": "https://company.centercode.com/project/feedback/view.html?cap=830150c24a114b466c512881db6cfdd0&uf=8203593f73884c63a80d147cb75e5400"
}

Releases

Project Release

POST /projects/{projectKey}/releaseTypes/{releaseTypeKey}

Creates a release within a project release type.

CURL Example

curl --request POST \
--url "https://company.centercode.com/api/v1/projects/WidgetPro/releaseTypes/Firmware?apiKey=9e3c8a050fdb40ff9ca13ac3b1873c45" \
--data '{"title":"Software v0.1.1","subtitle":"New features and security updates for this product","releaseValue":"0.1.1","body":"<p>New software release available. Please install.</p>","startDate":"2020-01-01T00:00:00Z","endDate":"2050-09-30T12:00:00-0700","isClickThroughNotice":false,"ftpBucketFiles":[{"fileName":"Firmware_0.1.1.exe"},{"fileName":"Builds/Installer_0.1.1.exe"}],"links":[{"label":"Software v0.1.1","url":"https:\/\/www.example.com","size":2,"sizeUnit":"MB","openInNewWindow":false,"includeInDownloadBlock":true,"logDownloadAttempts":true}]}'

Release data elements

projectKey: string
in path

The configured project key

releaseTypeKey: string
in path

The configured release type key

Request Content-Types: application/json
Request Example
{
  "title": "Software v0.1.1",
  "subtitle": "New features and security updates for this product",
  "releaseValue": "0.1.1",
  "body": "<p>New software release available. Please install.</p>",
  "startDate": "2020-01-01T00:00:00+0000",
  "endDate": "2050-09-30T12:00:00-0700",
  "isClickThroughNotice": false,
  "ftpBucketFiles": [
    {
      "fileName": "Firmware_0.1.1.exe"
    },
    {
      "fileName": "Builds/Installer_0.1.1.exe"
    }
  ],
  "links": [
    {
      "label": "Software v0.1.1",
      "url": "https:\/\/www.example.com",
      "size": 2,
      "sizeUnit": "MB",
      "openInNewWindow": false,
      "includeInDownloadBlock": true,
      "logDownloadAttempts": true
    }
  ]
}
201 Created

Created

Response Content-Types: application/json
Response Example (201 Created)
{
  "id": "6e3a34b8-cf84-4946-9847-a5f6a88d5b54",
  "title": "Software v0.1.1",
  "subtitle": "New features and security updates for this product",
  "releaseValue": "0.1.1",
  "body": "<p>New software release available. Please install.</p>",
  "startDate": "2020-01-01T00:00:00+0000",
  "endDate": "2050-09-30T12:00:00-0700",
  "isClickThroughNotice": false,
  "ftpBucketFiles": [
    {
      "fileName": "Firmware_0.1.1.exe"
    },
    {
      "fileName": "Builds/Installer.0.1.1.exe"
    }
  ],
  "links": [
    {
      "label": "Software v0.1.1",
      "url": "https://www.example.com",
      "size": 2,
      "sizeUnit": "MB",
      "openInNewWindow": false,
      "includeInDownloadBlock": true,
      "logDownloadAttempts": true
    }
  ],
  "url": "https://company.centercode.com/project/version/item.html?cap=d81fe934-4950-4e36-93f6-79b606fded8d&arttypeid=fa9d6828-42de-4711-8414-0b5b52630a1c&artid=293879a6-6fbb-4939-a79f-43a69464ad8a",
  "status": "Processing"
}

Schema Definitions

DataPackage: object

paging: object
currentPage: integer
totalPages: integer
resultsPerPage: integer
totalResults: integer
fields: object[]
object
name: string
dataType: string boolean, date, double, integer, string
formId: string
questionId: string
data: object[][]
object[]
object
fieldOrdinal: integer
dataType: string boolean, date, double, integer, string
computedValue: string
responseId: string
answerId: string
values: string[]
string
Example
{
  "paging": {
    "currentPage": "integer",
    "totalPages": "integer",
    "resultsPerPage": "integer",
    "totalResults": "integer"
  },
  "fields": [
    {
      "name": "string",
      "dataType": "string",
      "formId": "string",
      "questionId": "string"
    }
  ],
  "data": [
    [
      {
        "fieldOrdinal": "integer",
        "dataType": "string",
        "computedValue": "string",
        "responseId": "string",
        "answerId": "string",
        "values": [
          "string"
        ]
      }
    ]
  ]
}

RecordLookup: object

data: object[]
object
name: string
dataType: string boolean, date, double, integer, string
computedValue: string
formId: string
questionId: string
responseId: string
answerId: string
values: string[]
string
Example
{
  "data": [
    {
      "name": "string",
      "dataType": "string",
      "computedValue": "string",
      "formId": "string",
      "questionId": "string",
      "responseId": "string",
      "answerId": "string",
      "values": [
        "string"
      ]
    }
  ]
}

ListenerMacroAccepted: object

statusEndpoint: string
Example
{
  "statusEndpoint": "string"
}

ListenerMacroStatus: object

status: string Succeeded, Failed, Pending, Processing
Example
{
  "status": "string"
}

ListenerCommentCreated: object

author: string
message: string
Example
{
  "author": "string",
  "message": "string"
}

ListenerDataSaved: object

fields: object[]
object
dataType: string
label: string
parameter: string
value: string
matched: boolean
Example
{
  "fields": [
    {
      "dataType": "string",
      "label": "string",
      "parameter": "string",
      "value": "string",
      "matched": "boolean"
    }
  ]
}

UserImport: object

email: string
Example
{
  "email": "string"
}

UserImportAccepted: object

statusEndpoint: string
Example
{
  "statusEndpoint": "string"
}

UserImportStatus: object

status: string Succeeded, Failed, Pending, Processing
Example
{
  "status": "string"
}

FeedbackCreated: object

id: string
key: string
url: string
fileElements: object[]
object
title: string
key: string
url: string
acceptsMultipleAttachments: boolean
Example
{
  "id": "string",
  "key": "string",
  "url": "string",
  "fileElements": [
    {
      "title": "string",
      "key": "string",
      "url": "string",
      "acceptsMultipleAttachments": "boolean"
    }
  ]
}

FileAttachmentCreated: object

id: string
fileElementKey: string
fileName: string
feedbackKey: string
feedbackUrl: string
Example
{
  "id": "string",
  "fileElementKey": "string",
  "fileName": "string",
  "feedbackKey": "string",
  "feedbackUrl": "string"
}

ReleaseRequest: object

title: string
subtitle: string
releaseValue: string
body: string
startDate: string (date-time)
endDate: string (date-time)
isClickThroughNotice: boolean
ftpBucketFiles: object[]
object
fileName: string
links: object[]
object
label: string
url: string
size: integer
sizeUnit: string Bytes, KB, MB, GB
openInNewWindow: boolean
includeInDownloadBlock: boolean
logDownloadAttempts: boolean
Example
{
  "title": "string",
  "subtitle": "string",
  "releaseValue": "string",
  "body": "string",
  "startDate": "string (date-time)",
  "endDate": "string (date-time)",
  "isClickThroughNotice": "boolean",
  "ftpBucketFiles": [
    {
      "fileName": "string"
    }
  ],
  "links": [
    {
      "label": "string",
      "url": "string",
      "size": "integer",
      "sizeUnit": "string",
      "openInNewWindow": "boolean",
      "includeInDownloadBlock": "boolean",
      "logDownloadAttempts": "boolean"
    }
  ]
}

ReleaseCreated: object

id: string
title: string
subtitle: string
releaseValue: string
body: string
startDate: string (date-time)
endDate: string (date-time)
isClickThroughNotice: boolean
ftpBucketFiles: object[]
object
fileName: string
links: object[]
object
label: string
url: string
size: integer
sizeUnit: string Bytes, KB, MB, GB
openInNewWindow: boolean
includeInDownloadBlock: boolean
logDownloadAttempts: boolean
url: string
status: string Processing, Published
Example
{
  "id": "string",
  "title": "string",
  "subtitle": "string",
  "releaseValue": "string",
  "body": "string",
  "startDate": "string (date-time)",
  "endDate": "string (date-time)",
  "isClickThroughNotice": "boolean",
  "ftpBucketFiles": [
    {
      "fileName": "string"
    }
  ],
  "links": [
    {
      "label": "string",
      "url": "string",
      "size": "integer",
      "sizeUnit": "string",
      "openInNewWindow": "boolean",
      "includeInDownloadBlock": "boolean",
      "logDownloadAttempts": "boolean"
    }
  ],
  "url": "string",
  "status": "string"
}

DynamicRequest: object

string
Example
"object"

InvalidParameter: object

status: integer
description: string
invalidParameters: object[]
object
name: string
description: string
Example
{
  "status": 400,
  "description": "string",
  "invalidParameters": [
    {
      "name": "string",
      "description": "string"
    }
  ]
}

Error: object

status: integer
description: string
Example
{
  "status": 400,
  "description": "string"
}