openapi: 3.2.0 info: version: '' title: Namely Reports API description: Move your app forward with the Namely API Move your app forward with the Namely API tags: - name: Reports paths: /reports/{id}: parameters: - name: id in: path description: id of the report from Namely; can be found at the end of the URL of the report on the web required: true schema: type: string get: operationId: GET_reports-id summary: Get a Report tags: - Reports description: 'This endpoint returns a JSON format version of a report created in Namely. These reports update instantly, so each new call to the API will provide the user with updated information. After information about the report itself, there is an array of objects that are the columns within the report. The position of the columns is important. After the columns is what is technically an array of arrays without any keys. Each "sub"-array represents a line in the report and is a list of values whose position on the list within each "sub"-array sequentially corresponds to the column. For example, if the second "column" is "last name", the second "value" in each "sub"-array is the value. The reports API does not technically have a limit to how many lines can be pulled through the API at once. However, we would suggest limiting it to around 200 lines. A user could likely pull more than that without any problems, but they will eventually run into a timeout. There is no hard limit, however. Do not have your integration rely on field ''labels'' as they are dynamic. Please use the field ''name'' instead.' responses: '200': description: Successful Response content: application/json: schema: type: object properties: reports: type: array items: $ref: '#/components/schemas/Report' meta: type: object links: type: object linked: type: object security: - Authorization: [] components: schemas: Content: title: Content type: array description: this is technically an array of arrays without any keys "sub"-arrays; each "sub"-array represents a line in the report, and is a list of values, whose position on the list within "sub"-array sequentially corresponds to the column; for example, if the second "column" is "last name", the second "value" in each "sub"-array is the value items: type: array Column: title: Column type: array description: 'columns within the report; note: position of the columns is important' items: type: object properties: name: type: string description: immutable name of the report column type: type: string description: data type of the report column label: type: string description: name/label of the report column Report: title: Report type: object properties: id: type: string description: unique identifier of the report; identical to the id in the path parameters type: type: string description: describes the type of report (e.g. salary_history) columns: type: array items: $ref: '#/components/schemas/Column' content: type: array items: $ref: '#/components/schemas/Content' links: type: object securitySchemes: Authorization: name: Authorization type: apiKey in: header