diff --git a/fern/docs.yml b/fern/docs.yml index 13e4f93..938532c 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -24,8 +24,6 @@ navigation: - section: Older APIs contents: - - page: API v1 - path: ./docs/pages/legacy.mdx - page: API v3 path: ./docs/pages/apiv3.mdx - api: API Reference diff --git a/fern/docs/assets/legacy-api-v1.swagger.json b/fern/docs/assets/legacy-api-v1.swagger.json deleted file mode 100644 index c73b348..0000000 --- a/fern/docs/assets/legacy-api-v1.swagger.json +++ /dev/null @@ -1,2846 +0,0 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "API Settings", - "version": "1" - }, - "servers": [ - { - "url": "https://secure.projectmanager.com/api/v1" - } - ], - "components": { - "securitySchemes": { - "sec0": { - "type": "apiKey", - "name": "apiKey", - "in": "header", - "x-default": "Enter api key here." - } - } - }, - "security": [ - { - "sec0": [] - } - ], - "paths": { - "/projects/{projectId}.json": { - "get": { - "summary": "Get Single Project", - "description": "A Project resource represents a planned and track-able project within ProjectManager.com.\n\nUse this API to retrieve the details of a single project using its unique identifier.", - "operationId": "retrieve-a-specific-project", - "parameters": [ - { - "name": "projectId", - "in": "path", - "description": "The ID of the project you want to fetch.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"project\": {\n \"budget\": 300000000.00,\n \"chargeCode\": null,\n \"custom1\": null,\n \"custom2\": null,\n \"custom3\": null,\n \"custom4\": null,\n \"customer\": null,\n \"description\": \"\",\n \"manager\": null,\n \"priority\": {\n \"id\": 4638,\n \"name\": \"Critical\"\n },\n \"rate\": 200.00,\n \"shortName\": \"Feb-16-\",\n \"status\": {\n \"id\": 4638,\n \"name\": \"Open\"\n },\n \"id\": 216587,\n \"name\": \"Feb-16-Reg-1\",\n \"customColumns\":\n [\n { name: \"MyCurrencyCol\", type: \"currency\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", extendedColumnId=571}\n ]\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n \t\ttype: \"GET\", \n \turl: \"https://secure.projectmanager.com/api/v1/projects/\" + projectId + \".json\", \n \tcontentType: 'application/json', \n \tdataType: \"json\", \n \tsuccess: worked,\n \theaders: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "delete": { - "summary": "Delete a Project", - "description": "A Project resource represents a planned and track-able project within ProjectManager.com.\n\nUse this API to set a particular Project to delete/inactive status.", - "operationId": "delete-a-project", - "parameters": [ - { - "name": "projectId", - "in": "path", - "description": "The ID of the project you want to delete.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\tstatus: \"Okay\"}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"DELETE\",\n url: \"https://secure.projectmanager.com/api/v1/projects/\" + projectId + \".json\", \n contentType: 'application/json', \n dataTypet: \"json\",\n success: worked , \n headers: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "put": { - "summary": "Update a Project", - "description": "A Project resource represents a planned and track-able project within ProjectManager.com.\n\nUse this API to update a single Project within ProjectManager.com.", - "operationId": "create-a-project", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the project." - }, - "shortName": { - "type": "string", - "description": "Ths shortname of your project. Maximum 7 characters." - }, - "description": { - "type": "string", - "description": "The description of your project. Maximum 1000 characters." - }, - "rate": { - "type": "number", - "description": "Decimal, The project's default rate per hour.", - "default": 0, - "format": "double" - }, - "budget": { - "type": "number", - "description": "Decimal. The budget for the project.", - "default": 0, - "format": "double" - }, - "chargeCode": { - "type": "integer", - "description": "{id: chargeCodeId}. The charge code Id for the project. Retrieve using project data endpoint: /api/v1/ProjectData/customFields", - "format": "int32" - }, - "status": { - "type": "integer", - "description": "{id: statusId}. The project status Id. Retrieve using project data endpoint: /api/v1/ProjectData/statuses", - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "{id: priorityId}. The project priority Id. Retrieve using project data endpoint: /api/v1/ProjectData/priorities", - "format": "int32" - }, - "manager": { - "type": "integer", - "description": "{id: managerId}. The project manager Id for the project. Retrieve using project data endpoint: /api/v1/ProjectData/managers", - "format": "int32" - }, - "custom1": { - "type": "integer", - "description": "{id: custom1Id}. Retrieve using project data endpoint: /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom2": { - "type": "integer", - "description": "{id: custom2Id}. Retrieve using pproject data endpoint: /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom3": { - "type": "integer", - "description": "{id: custom3Id}. Retrieve using project data endpoint: /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom4": { - "type": "integer", - "description": "{id: custom4Id}. Retrieve using project data endpoint: /api/v1/ProjectData/customFields", - "format": "int32" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n\t\tstatus: \"Okay\",\n project:{\n \"description\": null,\n \"shortName\": \"TAPIa30dfsdfsdf\",\n \"rate\": 111.00,\n \"budget\": 5501.00,\n \"manager\": {\"id\": 1801},\n \"customer\": {\"id\": 3070},\n \"priority\": {\"id\": 16169},\n \"status\": {\"id\": 4638},\n \"chargeCode\": null,\n \"name\": \"TEST3004\"\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var project = {\n \"description\": null,\n \"shortName\": \"TESTAPa\",\n \"rate\": 111.00,\n \"budget\": 5501.00,\n \"manager\": {\n \"id\": 1801\n },\n \"customer\": {\n \"id\": 3070\n },\n \"priority\": {\n \"id\": 16169\n },\n \"status\": {\n \"id\": 4638\n },\n \"chargeCode\": null,\n \"name\": \"TESTAPIa\"\n}\n$.ajax({\n\t\ttype: \"PUT\", \n\t\turl: \"https://secure.projectmanager.com/api/v1/projects/\"+projectId+\".json\", \n\t\tcontentType: 'application/json', \n\t\tdataType: \"json\", \n\t\tsuccess: worked,\n\t\tdata: JSON.stringify(project),\n\t\theaders: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/projects/{projectId}/tasks.json": { - "get": { - "summary": "Tasks by Project", - "description": "A Task instance represents a task created within a Project. It may be a high level summary task, or a task within a task.\n\nUse this API to retrieve the full list of Tasks for a given project.", - "operationId": "retrieve-a-projects-tasks", - "parameters": [ - { - "name": "projectId", - "in": "path", - "description": "The Id of the project to retrieve tasks for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"tasks\": [\n {\n \"children\": [\n {\n \"actual\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 480,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": null\n },\n \"assignments\": [\n 932618\n ],\n \"baseline\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 300,\n \"finish\": null, \n \"start\": null\n \t\t},\n \"isMilestone\": false,\n \"isSummary\": false,\n \"notes\": null,\n \"percentComplete\": null,\n \"planned\": {\n \"cost\": 0.0,\n \"duration\": 3840,\n \"effort\": 1200,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": \"2015-05-07T00:00:00\"\n },\n \"predeccesors\": null,\n \"priority\": 600,\n \"successors\": [\n 28178220\n ],\n \"wbs\": \"1.1\",\n \"id\": 28178219,\n \"name\": \"a1\",\n \"customColumns\":\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId=571}\n ]\n }\n ],\n \"actual\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 480,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": null\n },\n \"assignments\": null,\n \"baseline\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 300,\n \"finish\": null, \n \"start\": null\n },\n \"isMilestone\": false,\n \"isSummary\": true,\n \"notes\": null,\n \"percentComplete\": null,\n \"planned\": {\n \"cost\": 0.0,\n \"duration\": 3840,\n \"effort\": 1200,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": \"2015-05-07T00:00:00\"\n },\n \"predeccesors\": null,\n \"priority\": 600,\n \"successors\": null,\n \"wbs\": \"1\",\n \"id\": 28178218,\n \"name\": \"a\"\n },\n {\n \"children\": [],\n \"actual\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 300,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": null\n },\n \"assignments\": [\n 1259379,\n 1259380\n ],\n \"baseline\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 300,\n \"finish\": null, \n \"start\": null\n },\n \"isMilestone\": false,\n \"isSummary\": false,\n \"notes\": null,\n \"percentComplete\": null,\n \"planned\": {\n \"cost\": 0.0,\n \"duration\": 3120,\n \"effort\": 600,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": \"2015-05-19T00:00:00\"\n },\n \"predeccesors\": [\n 28178219\n ],\n \"priority\": 600,\n \"successors\": null,\n \"wbs\": \"2\",\n \"id\": 28178220,\n \"name\": \"b\"\n }\n ]\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n\t\ttype: \"GET\", \n \turl: \"https://secure.projectmanager.com/api/v1/projects/\" + projectId + \"/tasks.json\", \n \tcontentType: 'application/json', \n \tdataType: \"json\", \n \tsuccess: worked,\n \theaders: { apiKey: apiKey }\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://api.projectmanager.com/api/v1/projects/1234/tasks.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/tasks.json": { - "post": { - "summary": "Create a Task", - "description": "A Task instance represents a task created within a Project. It may be a high level summary task, or a task within a task. \n\nUse this API to create a Task against a particular project.", - "operationId": "create-a-task", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "name", - "projectId" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of your task." - }, - "projectId": { - "type": "integer", - "description": "The project your task belongs to.", - "format": "int32" - }, - "start": { - "type": "string", - "description": "Task start date. yyyy-mm-ddT00:00:00", - "format": "date" - }, - "finish": { - "type": "string", - "description": "Task finish date. yyyy-mm-ddT00:00:00", - "format": "date" - }, - "duration": { - "type": "integer", - "description": "The duration of the task, in minutes.", - "default": 0, - "format": "int32" - }, - "assignments": { - "type": "integer", - "description": "List, The list of the resource ids to assign to the given task.", - "default": null, - "format": "int32" - }, - "notes": { - "type": "string", - "description": "The notes for the task." - }, - "customColumns": { - "type": "array", - "description": "Task-level custom columns and their value. (Note: the column must have been previously created for the project before you can post it here)" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n status: \"Okay\",\n task: {\n projectId: 123456,\n name: \"test api task1\",\n notes: \"api notes\",\n start: \"2015-04-13T00:00:00\",\n finish: \"2015-05-13T00:00:00\",\n duration: 2400,\n customColumns:\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId:567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId:568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId:569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId:570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId:571}\n ]\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var data = {\n\t\tprojectId: projectId,\n\t\tname: \"test api task1\",\n\t\tnotes: \"api notes\",\n\t\tstart: \"2015-04-13T00:00:00\",\n\t\tfinish: \"2015-05-13T00:00:00\",\n\t\tduration: 2400,\n customColumns:\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId:567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId:568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId:569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId:570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId:571}\n ]\n}\n\n$.ajax({\n\t \ttype: \"POST\", \n \turl: \"https://secure.projectmanager.com/api/v1/tasks.json\", \n \tcontentType: 'application/json', \n \tdataType: \"json\", \n \tsuccess: worked,\n \tdata: JSON.stringify(data), \n \theaders: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/projects.json": { - "get": { - "summary": "Get All Projects", - "description": "A Project resource represents a planned and trackable project within ProjectManager.com.\n\nUse this API to retrieve all the projects available to this user, in the order in which they were created. \n\nThere are no filters for this particular call, however you can use [/resources/{resourceId}/assignedProjects](/v1.0/docs/projects-by-resource) API to retrieve the projects assigned to a particular resource.", - "operationId": "all-projects", - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"projects\": [\n {\n \"budget\": 55000.00,\n \"chargeCode\": null,\n \"custom1\": null,\n \"custom2\": null,\n \"custom3\": null,\n \"custom4\": null,\n \"customer\": {\n \"id\": 3070,\n \"name\": \"ABC Technology\"\n },\n \"description\": \"ABC Technology wish to design, build and implement a new software program for their Help Desk. This software uses leading edge technologies and is a high risk to the business.\",\n \"manager\": {\n \"id\": 1801,\n \"name\": \"Jeff Davis\"\n },\n \"priority\": {\n \"id\": 16169,\n \"name\": \"Very Important\"\n },\n \"rate\": 110.00,\n \"shortName\": \"Sftwre\",\n \"status\": {\n \"id\": 4638,\n \"name\": \"Open\"\n },\n \"id\": 1373,\n \"name\": \"Software Project\",\n \"customColumns\":\n [\n { name: \"MyCurrencyCol\", type: \"currency\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId=571}\n ]\n }]\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: 'GET',\n url: 'https://secure.projectmanager.com/api/v1/projects.json',\n headers: {'apiKey': '[yourApiKey]'}\n}).done(function(data) {\n\t\t\tlog(data);\n});", - "name": "jQuery" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://api.projectmanager.com/api/v1/projects.json', false, $context);\nprint_r(json_decode($data));\n?>", - "name": "PHP" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - }, - "post": { - "summary": "Create a Project", - "description": "A Project resource represents a planned and trackable project within ProjectManager.com.\n\nUse this API to create a single project in Project Manager.com. You can specify a minimum of Project Name to create a Project via the API.", - "operationId": "create-a-project-1", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the project." - }, - "shortName": { - "type": "string", - "description": "Ths shortname of your project, max 7 characters." - }, - "description": { - "type": "string", - "description": "The description of the project, max 1000 characters." - }, - "rate": { - "type": "number", - "description": "Project default rate per hour. Please note that the rate must be non-negative.", - "default": 0, - "format": "double" - }, - "budget": { - "type": "number", - "description": "Budget for project. Please note that the budget must be non-negative.", - "default": 0, - "format": "double" - }, - "status": { - "type": "integer", - "description": "{id: statusId}, can get from /api/v1/ProjectData/statuses", - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "{id: priorityId}, can get from /api/v1/ProjectData/priorities", - "format": "int32" - }, - "manager": { - "type": "integer", - "description": "{id: managerId}, can get from /api/v1/ProjectData/managers", - "format": "int32" - }, - "custom1": { - "type": "integer", - "description": "{id: custom1Id}, can get from /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom2": { - "type": "integer", - "description": "{id: custom2Id}, can get from /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom3": { - "type": "integer", - "description": "{id: custom3Id}, can get from /api/v1/ProjectData/customFields", - "format": "int32" - }, - "custom4": { - "type": "integer", - "description": "{id: custom4Id}, can get from /api/v1/ProjectData/customFields", - "format": "int32" - }, - "chargeCode": { - "type": "integer", - "description": "{id: chargeCodeId}, can get from /api/v1/ProjectData/customFields", - "format": "int32" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{ \n status: \"Okay\",\n project: {\n id:78888,\n name: 'Rennovation at 42 Wallaby Way',\n shortName: 'Wallaby',\n description: 'Major rennovation project for the dentist in Sydney.',\n budget: 250000,\n rate: 89.90,\n chargeCode: {\n \"id\": 1234\n },\n manager: {\n \"id\": 2345\n }\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n url: 'https://secure.projectmanager.com/api/v1/projects.json',\n type: 'post',\n headers: {\n apiKey: '[apiKey]',\n },\n dataType: 'json',\n data: {\n name: 'Rennovation at 42 Wallaby Way',\n shortName: 'Wallaby',\n description: 'Major rennovation project for the dentist in Sydney.',\n budget: 250000,\n rate: 89.90,\n chargeCode: {\n \"id\": 1234\n },\n manager: {\n \"id\": 2345\n },\n },\n success: function (data) {\n\t\t\tconsole.info(data);\n }\n});", - "name": "jQuery" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/tasks/{taskId}.json": { - "get": { - "summary": "Get a Task", - "description": "A Task instance represents a task created within a Project. It may be a high level summary task, or a task within a task. \n\nUse this API to retrieve a particular task by it's unique identifier.", - "operationId": "retrieve-a-project", - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "The Id of the Task you wish to retrieve.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"task\": {\n \"children\": [\n 28178219 // note this is not task object but the child task id\n ],\n \"actual\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 480,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": null\n },\n \"assignments\": null,\n \"baseline\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 300,\n \"finish\": null, \n \"start\": null\n },\n \"isMilestone\": false,\n \"isSummary\": true,\n \"notes\": null,\n \"percentComplete\": null,\n \"planned\": {\n \"cost\": 0.0,\n \"duration\": 3840,\n \"effort\": 1200,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": \"2015-05-07T00:00:00\"\n },\n \"predeccesors\": null,\n \"priority\": 600,\n \"successors\": null,\n \"wbs\": \"1\",\n \"id\": 28178218,\n \"name\": \"a\",\n \"customColumns\":\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId=571}\n ]\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n \ttype: \"GET\", \n \turl: \"https://secure.projectmanager.com/api/v1/tasks/\" + id + \".json\", \n \tcontentType: 'application/json', \n \tdataType: \"json\", \n \tsuccess: worked,\n \theaders: { apiKey: apiKey }\n});\n\n\n" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "put": { - "summary": "Update a Task", - "description": "A Task instance represents a task created within a Project. It may be a high level summary task, or a task within a task. \n\nUse this API to update an existing task.", - "operationId": "update-a-task", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "percentComplete": { - "type": "integer", - "description": "Your task percent completed", - "default": null, - "format": "int32" - }, - "notes": { - "type": "string", - "description": "Your tasks notes.", - "default": "null" - }, - "customColumns": { - "type": "array", - "description": "Task-level custom columns and their value. (Note: the column must have been previously created for the project before you can post it here)" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"task\": {\n \"children\": [\n 28178219 // note this is not task object but the children task id\n ],\n \"actual\": {\n \"cost\": 0.0,\n \"duration\": null,\n \"effort\": 480,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": null\n },\n \"assignments\": null,\n \"baseline\": null,\n \"isMilestone\": false,\n \"isSummary\": true,\n \"notes\": null,\n \"percentComplete\": null,\n \"planned\": {\n \"cost\": 0.0,\n \"duration\": 3840,\n \"effort\": 1200,\n \"finish\": null,\n \"resourceCost\": 0.0,\n \"start\": \"2015-05-07T00:00:00\"\n },\n \"predeccesors\": null,\n \"priority\": 600,\n \"successors\": null,\n \"wbs\": \"1\",\n \"id\": 28178218,\n \"name\": \"a\",\n \"customColumns\":\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId=571}\n ]\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var data = {\n task: {\n percentComplete: 50,\n \t\t customColumns:\n [\n { name: \"MyCurrencyCol\", type: \"currency\", data: \"95.99\", extendedColumnId=567},\n { name: \"MyNumberCol\", type: \"number\", data: \"1234\", extendedColumnId=568},\n { name: \"MyDateCol\", type: \"currency\", data: \"27-01-2018\", extendedColumnId=569},\n { name: \"MyStringCol\", type: \"string\", data: \"Spiffy Sprockets\", extendedColumnId=570},\n { name: \"MyBoolCol\", type: \"bool\", data: \"true\", extendedColumnId=571}\n ]\n }\n }\n\n\n$.ajax({\n type: \"PUT\", \n \t url: \"https://secure.projectmanager.com/api/v1/tasks/28178217.json\", \n \t contentType: 'application/json', \n \t dataType: \"json\", \n success: worked,\n \t data: JSON.stringify(data),\n headers: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/resources/{resourceId}.json": { - "put": { - "summary": "Update a Resource", - "description": "A Resource instance represents a resource created for a particular business account. This may be a resource associated with a particular user, or an inanimate resource.\n\nUse this API to update an existing Resource.", - "operationId": "edit-a-resource", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of your resource." - }, - "hourRate": { - "type": "number", - "description": "Decimal. Hourly rate for resource. The hourly rate will not updated if null is passed in to this parameter.", - "default": null, - "format": "double" - }, - "shortName": { - "type": "string", - "description": "The short name of the resource. Maximum 7 characters. If more than 7 characters is specified we will truncate the value of this field", - "default": "null" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{ \n status: \"Okay\",\n resource: {\n \t\t\t\t\t\t\t\tid: 222222\n name: \"updated api res\",\n hourRate: 20,\n shortName: \"uar\"\n }\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var data = {\n id: resourceId,\n resource: {\n name: \"updated api res\",\n hourRate: 20,\n shortName: \"uar\"\n }\n};\n\n$.ajax({\n type: \"PUT\", \n url: \"https://secure.projectmanager.com/api/v1/resources.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked , \n data: JSON.stringify(data),\n headers: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "delete": { - "summary": "Delete a Resource", - "description": "A Resource instance represents a resource created for a particular business account. This may be a resource associated with a particular user, or an inanimate resource.\n\nUse this API to delete an existing Resource.", - "operationId": "delete-a-resource", - "parameters": [ - { - "name": "resourceId", - "in": "path", - "description": "The unique identifier of the resource you would like to delete.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n status: \"Okay\"\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n\t\ttype: \"DELETE\", \n \turl: \"https://secure.projectmanager.com/api/v1/resources/\" + resourceId + \".json\", \n \tcontentType: 'application/json', \n \tdataType: \"json\", \n \tsuccess: worked, \n\t\theaders: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "get": { - "summary": "Get a Resource", - "description": "A Resource instance represents a resource created for a particular business account. This may be a resource associated with a particular user, or an inanimate resource.\n\nUse this API to retrieve a single resource by its unique identifier.", - "operationId": "retrieve-resource-by-resource-id", - "parameters": [ - { - "name": "resourceId", - "in": "path", - "description": "The id of the resource you want to retrieve.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"resource\": {\n \"hourRate\": null,\n \"shortName\": \"Aida\",\n \"id\": 1259380,\n \"name\": \"Aida Tavakkolie\"\n }\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "resource": { - "type": "object", - "properties": { - "hourRate": {}, - "shortName": { - "type": "string", - "example": "Aida" - }, - "id": { - "type": "integer", - "example": 1259380, - "default": 0 - }, - "name": { - "type": "string", - "example": "Aida Tavakkolie" - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false - } - }, - "/tasks/{taskId}/timesheets.json": { - "get": { - "summary": "Timesheets by Task", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities/leave for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to retrieve a full list of Timesheet entries for a particular task.", - "operationId": "retrieve-timesheets-from-tasks", - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "The unique Id of the Task that you would like to retrieve timesheets for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"timesheets\": [\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 8.00,\n \"projectId\": 555069,\n \"taskId\": 28178219,\n \"resouceId\": 1608580,\n \"id\": 14469255,\n \"name\": null\n },\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 5.00,\n \"projectId\": 555069,\n \"taskId\": 28178220,\n \"resouceId\": 1608580,\n \"id\": 14469256,\n \"name\": null\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "timesheets": { - "type": "array", - "items": { - "type": "object", - "properties": { - "adminTypeId": {}, - "date": { - "type": "string", - "example": "2015-05-07T00:00:00" - }, - "hours": { - "type": "integer", - "example": 8, - "default": 0 - }, - "projectId": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "taskId": { - "type": "integer", - "example": 28178219, - "default": 0 - }, - "resouceId": { - "type": "integer", - "example": 1608580, - "default": 0 - }, - "id": { - "type": "integer", - "example": 14469255, - "default": 0 - }, - "name": {} - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": " $.ajax({ \n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/tasks/\" + taskId + \"/timesheets.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n });" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/tasks/[taskId]/timesheets.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/folders.json": { - "get": { - "summary": "All Folders", - "description": "A Folder represents a Directory created in ProjectManager.com. This may be a Project folder, or a user created folder.\n\nUse this API to retrieve a user's Folder structure.", - "operationId": "retrieve-folders", - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"folders\": [\n {\n \"folders\": [\n {\n \"folders\": [\n {\n \"folders\": null,\n \"id\": 920699,\n \"name\": \"bbb\"\n }\n ],\n \"id\": 867877,\n \"name\": \"aaa\"\n }\n ],\n \"id\": 775763,\n \"name\": \"My Docs\"\n },\n {\n \"folders\": null,\n \"id\": 1381704,\n \"name\": \"Shared\"\n },\n {\n \"folders\": null,\n \"id\": 1700712,\n \"name\": \"Reports\"\n },\n {\n \"folders\": [\n ],\n \"id\": 239,\n \"name\": \"Team\"\n },\n {\n \"folders\": [\n {\n \"folders\": null,\n \"id\": 1932272,\n \"name\": \"0506\"\n },\n {\n \"folders\": null,\n \"id\": 1207564,\n \"name\": \"0512\"\n },\n {\n \"folders\": [\n {\n \"folders\": null,\n \"id\": 537060,\n \"name\": \"0225\"\n },\n {\n \"folders\": null,\n \"id\": 642911,\n \"name\": \"aa\"\n }\n ],\n \"id\": 29445,\n \"name\": \"Deleted Projects\"\n }\n ],\n \"id\": 29439,\n \"name\": \"Projects\"\n },\n {\n \"folders\": [\n {\n \"folders\": null,\n \"id\": 1362128,\n \"name\": \"campbella\"\n }\n ],\n \"id\": null,\n \"name\": \"Shared User Documents\"\n },\n {\n \"folders\": null,\n \"id\": 761942,\n \"name\": \"Trash Can\"\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "folders": { - "type": "array", - "items": { - "type": "object", - "properties": { - "folders": { - "type": "array", - "items": { - "type": "object", - "properties": { - "folders": { - "type": "array", - "items": { - "type": "object", - "properties": { - "folders": {}, - "id": { - "type": "integer", - "example": 920699, - "default": 0 - }, - "name": { - "type": "string", - "example": "bbb" - } - } - } - }, - "id": { - "type": "integer", - "example": 867877, - "default": 0 - }, - "name": { - "type": "string", - "example": "aaa" - } - } - } - }, - "id": { - "type": "integer", - "example": 775763, - "default": 0 - }, - "name": { - "type": "string", - "example": "My Docs" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/folders.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked, \n headers: { apiKey: apiKey }\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/folders.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/files/{fileId}.json": { - "delete": { - "summary": "Delete a File", - "description": "A File instance represents a file added or attached in ProjectManager.com. This may be a file attached to a Project or shared documents etc.\n\nUse this API to delete a single file.", - "operationId": "delete-a-file", - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "The id of the file that you would like to delete.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n status: \"Okay\"\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"DELETE\",\n url: \"https://secure.projectmanager.com/api/v1/files/\" + fileId + \".json\",\n contentType: 'application/json',\n dataType: \"json\",\n headers: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "get": { - "summary": "Get a File", - "description": "A File instance represents a file added or attached in ProjectManager.com. This may be a file attached to a Project or shared documents etc.\n\nUse this API to fetch a single file by its unique identifier.", - "operationId": "retrieve-a-file", - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "The Id of the file you would like to retrieve.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"file\": {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 397184,\n \"name\": \"12%20-%201.jpg\"\n }\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "file": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88" - }, - "id": { - "type": "integer", - "example": 397184, - "default": 0 - }, - "name": { - "type": "string", - "example": "12%20-%201.jpg" - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\",\n url: \"https://secure.projectmanager.com/api/v1/files/\" + fileId + \".json\",\n contentType: 'application/json',\n dataType: \"json\",\n headers: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/resources/{resourceId}/assignedProjects.json": { - "get": { - "summary": "Get Projects by Resource", - "description": "A Project represents a planned and trackable Project within ProjectManager.com.\n\nUse this API to fetch a full list of projects assigned to a particular resource. You can retrieve a list of valid `resourceId` values by calling [https://api.projectmanager.com/api/v1/resources.json](/v1.0/docs/retrieve-resources).\n\nNOTE: The API instructions use the term \"Resource\" in both the Code and in these Developer instructions to reference Resourceid. However, in the live Product, the term \"Resource\" has been globally changed to \"People\" or \"Person\" to indicate a resource.", - "operationId": "projects-by-resource", - "parameters": [ - { - "name": "resourceId", - "in": "path", - "description": "The Id of the resource you wish to query assigned projects for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"projects\": [\n {\n \"status\": \"Open\",\n \"authorised\": true,\n \"due\": \"2015-05-27T12:00:00\",\n \"id\": 555069,\n \"name\": \"Sample Project\"\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "projects": { - "type": "array", - "items": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Open" - }, - "authorised": { - "type": "boolean", - "example": true, - "default": true - }, - "due": { - "type": "string", - "example": "2015-05-27T12:00:00" - }, - "id": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "name": { - "type": "string", - "example": "Sample Project" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: 'GET',\n url: 'https://secure.projectmanager.com/api/v1/resources/[resourceId]/assignedProjects.json',\n headers: {'apiKey': '[yourApiKey]'}\n})\n.done(function(data) {\n \t\tlog(data);\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://api.projectmanager.com/api/v1/resources/1234/assignedProjects.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/timesheets/{timesheetId}.json": { - "delete": { - "summary": "Delete a Timesheet", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to delete a Timesheet record by its unique identifier.", - "operationId": "delete-a-timesheet", - "parameters": [ - { - "name": "timesheetId", - "in": "path", - "description": "The id of the timesheet that you would like to delete.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n status: \"Okay\"\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"DELETE\",\n url: \"https://secure.projectmanager.com/api/v1/timesheets/\" + timesheetId + \".json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked, \n \t\theaders: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "put": { - "summary": "Update a Timesheet", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to update a Timesheet record by its unique identifier.", - "operationId": "edit-a-timesheet", - "parameters": [ - { - "name": "timesheetId", - "in": "path", - "description": "The unique identifier of the Timesheet record that you wish to update.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Hours": { - "type": "integer", - "description": "Hours of the timesheet entry. Will not update if the value is null", - "format": "int32" - }, - "name": { - "type": "string", - "description": "Description of the timesheet entry. Will not update if the name is null." - } - } - }, - "examples": { - "Request Example": { - "value": { - "hours": 3, - "name": "Timesheet description" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false - }, - "get": { - "summary": "Get a Timesheet", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to retrieve a single Timesheet by its unique identifier.", - "operationId": "retrieve-a-timesheet", - "parameters": [ - { - "name": "timesheetId", - "in": "path", - "description": "The unique Id of the Timesheet entry that you would like to retrieve.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"timesheet\": {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 8.00,\n \"projectId\": 555069,\n \"taskId\": 28178219,\n \"resouceId\": 1608580,\n \"id\": 14469255,\n \"name\": null\n }\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "timesheet": { - "type": "object", - "properties": { - "adminTypeId": {}, - "date": { - "type": "string", - "example": "2015-05-07T00:00:00" - }, - "hours": { - "type": "integer", - "example": 8, - "default": 0 - }, - "projectId": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "taskId": { - "type": "integer", - "example": 28178219, - "default": 0 - }, - "resouceId": { - "type": "integer", - "example": 1608580, - "default": 0 - }, - "id": { - "type": "integer", - "example": 14469255, - "default": 0 - }, - "name": {} - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": " $.ajax({\n \ttype: \"GET\",\n \t\t\t\t\turl: \"https://secure.projectmanager.com/api/v1/timesheets/\" + timesheetId + \".json\", \n \t\t\t\tcontentType: 'application/json', \n \t\t\t\tdataType: \"json\",\n \t\t\t\tsuccess: worked, \n \t\t\t\theaders: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/resources.json": { - "post": { - "summary": "Create a Resource", - "description": "A Resource instance represents a resource created for a particular business account. This may be a resource associated with a particular user, or an inanimate resource like a meeting room.\n\nUse this API to create a Resource that can be assigned to Tasks.", - "operationId": "add-a-resource", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of your resource" - }, - "shortName": { - "type": "string", - "description": "The shortname of your resource, max 7 characters", - "default": "First 7 chars of the name attribute if not provided" - }, - "countryId": { - "type": "string", - "description": "Integer, your resource country id", - "default": "Business default country id" - }, - "hourRate": { - "type": "string", - "description": "Decimal, resource default rate per hour", - "default": "0" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var data = { \"hourRate\": 50.00, \"name\": \"api res\" }\n\n$.ajax({\n type: \"POST\",\n url: \"https://secure.projectmanager.com/api/v1/resources.json\",\n contentType: 'application/json',\n dataType: \"json\",\n success: function(resp) { callBack(resp); },\n data: JSON.stringify(data),\n headers: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - }, - "get": { - "summary": "All Resources", - "description": "A Resource instance represents a resource created for a particular business account. This may be a resource associated with a particular user, or an inanimate resource.\n\nUse this API to retrieve all active resources set up against a business account.\n\nNOTE: The API instructions use the term \"Resource\" in both the Code and in these Developer instructions to reference Resourceid. However, in the live Product, the term \"Resource\" has been globally changed to \"People\" or \"Person\" to indicate a resource.", - "operationId": "retrieve-resources", - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"resources\": [\n {\n \"hourRate\": 52.00,\n \"shortName\": \"A\",\n \"id\": 932618,\n \"name\": \"A. Posey\"\n },\n {\n \"hourRate\": null,\n \"shortName\": \"Adnan\",\n \"id\": 1259392,\n \"name\": \"Adnan Ali\"\n },\n {\n \"hourRate\": null,\n \"shortName\": \"Aida\",\n \"id\": 1259380,\n \"name\": \"Aida Tavakkolie\"\n }]\n}\n" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "hourRate": { - "type": "integer", - "example": 52, - "default": 0 - }, - "shortName": { - "type": "string", - "example": "A" - }, - "id": { - "type": "integer", - "example": 932618, - "default": 0 - }, - "name": { - "type": "string", - "example": "A. Posey" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/resources.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://api.projectmanager.com/api/v1/resources.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/folders/{folderId}/files.json": { - "get": { - "summary": "Files by Folder", - "description": "A File instance represents a file added or attached in ProjectManager.com. This may be a file attached to a Project or shared documents etc.\n\nUse this API to retrieve the files within a given folder.", - "operationId": "retrieve-files-from-folder", - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "The unique identifier of the folder from which to retrieve files from.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"files\": [\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 397184,\n \"name\": \"12%20-%201.jpg\"\n },\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=64A62&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 412258,\n \"name\": \"dh1.jpg\"\n }]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "files": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88" - }, - "id": { - "type": "integer", - "example": 397184, - "default": 0 - }, - "name": { - "type": "string", - "example": "12%20-%201.jpg" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/folders/[id]/files.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked, \n headers: { apiKey: apiKey }\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/folder/[id]/files.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/timesheets/{timesheetId}/files.json": { - "get": { - "summary": "Files by Timesheet", - "description": "A File instance represents a file added or attached in ProjectManager.com. This may be a file attached to a Project or shared documents etc.\n\nUse this API to retrieve the files attached against a particular Timesheet record.", - "operationId": "retrieve-files-from-timesheets", - "parameters": [ - { - "name": "timesheetId", - "in": "path", - "description": "The Id of the timesheet to retrieve attachments for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"files\": [\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 397184,\n \"name\": \"12%20-%201.jpg\"\n },\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=64A62&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 412258,\n \"name\": \"dh1.jpg\"\n }]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "files": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88" - }, - "id": { - "type": "integer", - "example": 397184, - "default": 0 - }, - "name": { - "type": "string", - "example": "12%20-%201.jpg" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\",\n url: \"https://secure.projectmanager.com/api/v1/timesheets/[timesheetId]/files.json\",\n contentType: 'application/json',\n dataType: \"json\",\n headers: { apiKey: apiKey }\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/tasks/{taskId}/files.json": { - "get": { - "summary": "Files by Task", - "description": "A File instance represents a file added or attached in ProjectManager.com. This may be a file attached to a Project or shared documents etc.\n\nUse this API to retrieve the files attached against a given task.", - "operationId": "retrieve-files-from-tasks", - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "The id of the task that you want to retrieve the files for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"files\": [\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 397184,\n \"name\": \"12%20-%201.jpg\"\n },\n {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=64A62&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 412258,\n \"name\": \"dh1.jpg\"\n }]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "files": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88" - }, - "id": { - "type": "integer", - "example": 397184, - "default": 0 - }, - "name": { - "type": "string", - "example": "12%20-%201.jpg" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/tasks/\" + taskId + \"/files.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n});" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/task/[id]/files.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/timesheets.json": { - "post": { - "summary": "Create a Timesheet", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to retrieve create a Timesheet record.", - "operationId": "add-a-timesheet", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "resourceId", - "projectId", - "taskId", - "adminTypeId", - "date", - "Hours" - ], - "properties": { - "resourceId": { - "type": "integer", - "description": "The unique identifier of the resource the timesheet is for.", - "format": "int32" - }, - "projectId": { - "type": "integer", - "description": "The id of the project that the time is being recorded against.", - "format": "int32" - }, - "taskId": { - "type": "integer", - "description": "The id of the Task that the time is being recorded against. The task must belong to the project denoted by the project Id.", - "format": "int32" - }, - "adminTypeId": { - "type": "integer", - "description": "Admin Type Id (e.g. Sick leave). If this field is specified, projectId and taskId should be empty.", - "format": "int32" - }, - "date": { - "type": "string", - "description": "The date that the timesheet entry is for.", - "format": "date" - }, - "Hours": { - "type": "number", - "description": "The number of hours recorded by the timesheet entry.", - "format": "float" - }, - "name": { - "type": "string", - "description": "Description of the timesheet entry." - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \tstatus: \"Okay\",\n \t\ttimesheet: {\n \"adminTypeId\": null,\n \"date\": \"2015-04-16T00:00:00\",\n \"hours\": 8,\n \"projectId\": projectId,\n \"taskId\": taskId,\n \"resouceId\": resourceId,\n \"name\": \"Timesheet desc\"\n\t\t}\n}" - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false - } - }, - "/projects/{projectId}/timesheets.json": { - "get": { - "summary": "Timesheets by Project", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities/leave for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task or admin type for a specific date.\n\nUse this API to retrieve a list of Timesheet records for a particular Project.", - "operationId": "retrieve-timesheets-from-project", - "parameters": [ - { - "name": "projectId", - "in": "path", - "description": "The Id of the project you wish to retrieve timesheets for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"timesheets\": [\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 8.00,\n \"projectId\": 555069,\n \"taskId\": 28178219,\n \"resouceId\": 1608580,\n \"id\": 14469255,\n \"name\": null\n },\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 5.00,\n \"projectId\": 555069,\n \"taskId\": 28178220,\n \"resouceId\": 1608580,\n \"id\": 14469256,\n \"name\": null\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "timesheets": { - "type": "array", - "items": { - "type": "object", - "properties": { - "adminTypeId": {}, - "date": { - "type": "string", - "example": "2015-05-07T00:00:00" - }, - "hours": { - "type": "integer", - "example": 8, - "default": 0 - }, - "projectId": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "taskId": { - "type": "integer", - "example": 28178219, - "default": 0 - }, - "resouceId": { - "type": "integer", - "example": 1608580, - "default": 0 - }, - "id": { - "type": "integer", - "example": 14469255, - "default": 0 - }, - "name": {} - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": " $.ajax({ \n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/projects/\" + projectId + \"/timesheets.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n });" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/projects/[projectId]/timesheets.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/resources/{resourceId}/timesheets.json": { - "get": { - "summary": "Timesheets by Resource", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task(or admin type) for a specific date.\n\nUse this API to retrieve a list of Timesheet records for a particular Resource.\n\nNOTE: The API instructions use the term \"Resource\" in both the Code and in these Developer instructions to reference Resourceid. However, in the live Product, the term \"Resource\" has been globally changed to \"People\" or \"Person\" to indicate a resource.", - "operationId": "retrieve-timesheets-from-resources", - "parameters": [ - { - "name": "resourceId", - "in": "path", - "description": "The Id of the resource you want to retrieve timesheets for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"timesheets\": [\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 8.00,\n \"projectId\": 555069,\n \"taskId\": 28178219,\n \"resouceId\": 1608580,\n \"id\": 14469255,\n \"name\": null\n },\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 5.00,\n \"projectId\": 555069,\n \"taskId\": 28178220,\n \"resouceId\": 1608580,\n \"id\": 14469256,\n \"name\": null\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "timesheets": { - "type": "array", - "items": { - "type": "object", - "properties": { - "adminTypeId": {}, - "date": { - "type": "string", - "example": "2015-05-07T00:00:00" - }, - "hours": { - "type": "integer", - "example": 8, - "default": 0 - }, - "projectId": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "taskId": { - "type": "integer", - "example": 28178219, - "default": 0 - }, - "resouceId": { - "type": "integer", - "example": 1608580, - "default": 0 - }, - "id": { - "type": "integer", - "example": 14469255, - "default": 0 - }, - "name": {} - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": " $.ajax({ \n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/resources/\" + resourceId + \"/timesheets.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n });" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/resources/[resourceId]/timesheets.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - }, - "/files.json": { - "post": { - "summary": "Upload a File", - "description": "Use this API to upload a file into a Folder, or attach a file against a Task or Timesheet record.", - "operationId": "upload-a-file", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "file" - ], - "properties": { - "file": { - "type": "string", - "description": "Files send by multipart/form-data, example below." - }, - "folderId": { - "type": "string", - "description": "The folder your file will upload to.", - "default": "My Docs if no timesheet or project id provided, otherwise default to project root folder" - }, - "taskId": { - "type": "string", - "description": "The task your file will belong to." - }, - "timesheetId": { - "type": "string", - "description": "The timesheet your file will belong to." - } - } - } - } - } - }, - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"file\": {\n \"url\": \"https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88\",\n \"id\": 397184,\n \"name\": \"12%20-%201.jpg\"\n }\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "file": { - "type": "object", - "properties": { - "url": { - "type": "string", - "example": "https://secure.projectmanager.com/Share/Public/UserFile.aspx?hid=60F80&bid=c75bd554-5263-4de7-9905-656bacb24f88" - }, - "id": { - "type": "integer", - "example": 397184, - "default": 0 - }, - "name": { - "type": "string", - "example": "12%20-%201.jpg" - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "var data = new FormData();\n$.each(event.target.files, function (key, value) {\n data.append(key, value);\n});\ndata.append(\"folderId\", folderId);\n$.ajax({\n url: 'https://secure.projectmanager.com/api/v1/files.json',\n type: 'POST',\n data: data,\n cache: false,\n dataType: 'json',\n processData: false, // Don't process the files\n contentType: false, // Set content type to false as jQuery will tell the server its a query string request\n headers: {apiKey: \"6120fce4-376c-4602-ad3e-e3e7480ec13d\"},\n}).done(function(data) {\n console.log(data);\n});" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/ProjectData/statuses.json": { - "get": { - "summary": "Get Project Data", - "description": "In ProjectManager.com you can specify a number of customizable fields against projects.\n\nUse this API to fetch a list of all possible values for a given customizable Project field. The API explorer below is set to fetch `statuses` but you can also fetch `priorities`, `managers`, `charge codes` and `custom fields` by changing the endpoint:\n\n- /ProjectData/statuses.json\n- /ProjectData/priorities.json\n- /ProjectData/managers.json\n- /ProjectData/chargecodes.json (v1 & v2)\n- /ProjectData/customFields.json\n\nYou can then use those values when you're creating Projects via the Create Project API.\n\nNote: the chargecodes.json endpoint Version 2 is also available. (api.projectmanager.com/api/v2/ProjectData/chargecodes.json) - Version 2 fixes the json naming conventions in the response.", - "operationId": "fetch-project-data", - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"Statuses\": [\n {\n \t\"id\": 4638,\n \t\"name\": \"Open\"\n },\n {\n \t\"id\": 16169,\n \t\"name\": \"Closed\"\n },\n {\n \t\"id\": 27700,\n \t\"name\": \"Not Started\"\n },\n {\n \t\"id\": 39231,\n \t \t\"name\": \"On Hold\"\n },\n {\n \t\"id\": 50762,\n \t\t\"name\": \"Cancelled\"\n },\n {\n \t\"id\": 196513,\n \t\"name\": \"Deleted\"\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "Statuses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "example": 4638, - "default": 0 - }, - "name": { - "type": "string", - "example": "Open" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n\t\ttype: \"GET\",\n \turl: \"https://secure.projectmanager.com/api/v1/ProjectData/Statuses.json\", \n \tcontentType: 'application/json',\n \tdataType: \"json\", \n \tsuccess: worked, \n \theaders: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/timesheets/data/admintypes.json": { - "get": { - "summary": "Get Timesheet Admin Types", - "description": "In ProjectManager.com you can specify a number of timesheet admin types.\n\nUse this API to fetch a list of all possible values for your timesheet admin types.\n\nYou can then use those values when you're creating timesheets using the Create Timesheet API or to retrieve all timesheets for a given admin type using the get timesheets by admin type API.", - "operationId": "get-timesheet-admin-types", - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"AdminTypes\": [\n {\n \"id\": 12,\n \"name\": \"Annual Leave\"\n },\n {\n \"id\": 13,\n \"name\": \"Sick Leave\"\n },\n {\n \"id\": 14,\n \"name\": \"Meetings\"\n },\n {\n \"id\": 15,\n \"name\": \"Admin\"\n },\n {\n \"id\": 16,\n \"name\": \"Misc\"\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "AdminTypes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "example": 12, - "default": 0 - }, - "name": { - "type": "string", - "example": "Annual Leave" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": "$.ajax({\n\t\ttype: \"GET\",\n \turl: \"https://secure.projectmanager.com/api/v1/timesheets/data/admintypes.json\", \n \tcontentType: 'application/json',\n \tdataType: \"json\", \n \tsuccess: worked, \n \theaders: { apiKey: apiKey }\n });" - } - ], - "samples-languages": [ - "javascript" - ] - } - } - }, - "/timesheets/admintype/{AdminTypeId}.json": { - "get": { - "summary": "Timesheets by Admin Type Id", - "description": "A Timesheet instance records the number of hours spent on Tasks and Administrative activities for a particular Resource.\n\nA Timesheet entry is for a particular day, and there can only be one Timesheet record per Resource for a particular task(or admin type) for a specific date.\n\nUse this API to retrieve a list of Timesheet records for a particular Admin Type.", - "operationId": "timesheets-by-admintype", - "parameters": [ - { - "name": "AdminTypeId", - "in": "path", - "description": "The Id of the admin type you want to retrieve timesheets for.", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "200", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{\n \"status\": \"Okay\",\n \"timesheets\": [\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 8.00,\n \"projectId\": 555069,\n \"taskId\": 28178219,\n \"resouceId\": 1608580,\n \"id\": 14469255,\n \"name\": null\n },\n {\n \"adminTypeId\": null,\n \"date\": \"2015-05-07T00:00:00\",\n \"hours\": 5.00,\n \"projectId\": 555069,\n \"taskId\": 28178220,\n \"resouceId\": 1608580,\n \"id\": 14469256,\n \"name\": null\n }\n ]\n}" - } - }, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "Okay" - }, - "timesheets": { - "type": "array", - "items": { - "type": "object", - "properties": { - "adminTypeId": {}, - "date": { - "type": "string", - "example": "2015-05-07T00:00:00" - }, - "hours": { - "type": "integer", - "example": 8, - "default": 0 - }, - "projectId": { - "type": "integer", - "example": 555069, - "default": 0 - }, - "taskId": { - "type": "integer", - "example": 28178219, - "default": 0 - }, - "resouceId": { - "type": "integer", - "example": 1608580, - "default": 0 - }, - "id": { - "type": "integer", - "example": 14469255, - "default": 0 - }, - "name": {} - } - } - } - } - } - } - } - }, - "400": { - "description": "400", - "content": { - "application/json": { - "examples": { - "Result": { - "value": "{}" - } - }, - "schema": { - "type": "object", - "properties": {} - } - } - } - } - }, - "deprecated": false, - "x-readme": { - "code-samples": [ - { - "language": "javascript", - "code": " $.ajax({ \n type: \"GET\", \n url: \"https://secure.projectmanager.com/api/v1/timesheets/admintype/\" + AdminTypeId + \"/timesheets.json\", \n contentType: 'application/json', \n dataType: \"json\", \n success: worked,\n headers: { apiKey: apiKey }\n });" - }, - { - "language": "php", - "code": "array(\n 'method'=>\"GET\",\n 'header'=>\"apiKey: [yourApiKey]\")\n));\n$data = file_get_contents('https://secure.projectmanager.com/api/v1/resources/[AdminTypeId]/timesheets.json', false, $context);\nprint_r(json_decode($data));\n?>" - } - ], - "samples-languages": [ - "javascript", - "php" - ] - } - } - } - }, - "x-readme": { - "headers": [], - "explorer-enabled": false, - "proxy-enabled": true, - "samples-enabled": true - }, - "x-readme-fauxas": true -} \ No newline at end of file diff --git a/fern/docs/pages/legacy.mdx b/fern/docs/pages/legacy.mdx deleted file mode 100644 index 9d788a1..0000000 --- a/fern/docs/pages/legacy.mdx +++ /dev/null @@ -1,9 +0,0 @@ -The ProjectManager Legacy API v1 is only accessible to customers on custom contracts. - -### Upgrading from Legacy API v1 to API v4 - -To begin using REST API v4, you must upgrade your account. This service is complimentary and can be scheduled by contacting your customer success representative at support@projectmanager.com. - -### OpenAPI - -[Deprecated API v1](https://github.com/projectmgr/projectmanager-docs/tree/main/fern/docs/assets/legacy-api-v1.swagger.json) diff --git a/fern/fern.config.json b/fern/fern.config.json index c4f769e..676bf3a 100644 --- a/fern/fern.config.json +++ b/fern/fern.config.json @@ -1,4 +1,4 @@ { "organization": "projectmanager", - "version": "0.39.10" + "version": "0.43.7" } \ No newline at end of file diff --git a/fern/generators.yml b/fern/generators.yml new file mode 100644 index 0000000..8d893a8 --- /dev/null +++ b/fern/generators.yml @@ -0,0 +1,2 @@ +api: + path: openapi\openapi.json diff --git a/fern/openapi/openapi.json b/fern/openapi/openapi.json index 4b271b7..07bea8f 100644 --- a/fern/openapi/openapi.json +++ b/fern/openapi/openapi.json @@ -8,7 +8,7 @@ "url": "https://www.projectmanager.com/contact", "email": "support@projectmanager.com" }, - "version": "117.0.4438" + "version": "119.0.4625" }, "paths": { "/api/data/api-keys": { @@ -251,6 +251,7 @@ { "name": "projectId", "in": "path", + "description": "The unique identifier of the Project for which you want to retrieve changesets", "required": true, "schema": { "type": "string", @@ -260,6 +261,7 @@ { "name": "version", "in": "query", + "description": "The version of the Project for which you want to retrieve changesets", "schema": { "type": "integer", "format": "int32" @@ -268,6 +270,7 @@ { "name": "page", "in": "query", + "description": "For pagination, the number of the page to retrieve", "schema": { "type": "integer", "format": "int32", @@ -277,6 +280,7 @@ { "name": "take", "in": "query", + "description": "For pagination, the size of the page", "schema": { "type": "integer", "format": "int32", @@ -1835,6 +1839,7 @@ { "name": "id", "in": "path", + "description": "The unique identifier of the notification to mark read", "required": true, "schema": { "type": "string", @@ -1906,6 +1911,7 @@ { "name": "id", "in": "path", + "description": "The unique identifier of the notification to mark read", "required": true, "schema": { "type": "string", @@ -1946,6 +1952,7 @@ { "name": "id", "in": "path", + "description": "The unique identifier of the notification to mark read", "required": true, "schema": { "type": "string", @@ -3255,12 +3262,13 @@ "tags": [ "ProjectVersion" ], - "summary": "Retrieve project's version", + "summary": "Retrieve Project Versions", "description": "Returns projects versions including version, user who made changes", "parameters": [ { "name": "projectId", "in": "path", + "description": "The unique identifier of the Project", "required": true, "schema": { "type": "string", @@ -3295,8 +3303,8 @@ "tags": [ "ProjectVersion" ], - "summary": "Retrieve project's data in MS Project xml format", - "description": "Exports and returns project version into MS Project xml", + "summary": "Download MSProject Xml", + "description": "Exports and returns project version as an MS Project XML attachment", "parameters": [ { "name": "projectChangeId", @@ -3337,10 +3345,13 @@ "tags": [ "ProjectVersion" ], + "summary": "Restore Project Version", + "description": "Restores a Project to the state it was in at a specific Version in time.\r\n \r\nIf successful, all changes made to the Project since this Version will be undone and the Project will\r\nreturn to its former state.", "parameters": [ { "name": "projectId", "in": "path", + "description": "The unique identifier of the Project to restore", "required": true, "schema": { "type": "string", @@ -3350,6 +3361,7 @@ { "name": "version", "in": "path", + "description": "The version number to restore to", "required": true, "schema": { "type": "integer", @@ -3384,10 +3396,13 @@ "tags": [ "ProjectVersion" ], + "summary": "Copy Project Version", + "description": "Create a Copy of a Project as of a specific Version, optionally moving it to a new Timezone.", "parameters": [ { "name": "projectId", "in": "path", + "description": "The unique identifier of the Project to copy", "required": true, "schema": { "type": "string", @@ -3397,6 +3412,7 @@ { "name": "version", "in": "path", + "description": "The version number of the Project to copy", "required": true, "schema": { "type": "integer", @@ -3406,6 +3422,7 @@ { "name": "timezoneOffset", "in": "query", + "description": "If specified, sets the default timezone of the newly copied Project to this\r\n specified timezone", "schema": { "type": "integer", "format": "int32" @@ -3671,7 +3688,7 @@ "$ref": "#/components/schemas/ResourcesCreateDto" } ], - "description": "A Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." + "description": "The ResourcesCreate object allows you to create multiple Users with a single API call.\r\nIn ProjectManager.com, a User is a special class of Resource.\r\n \r\nA Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." } } } @@ -4160,10 +4177,13 @@ "tags": [ "Risk" ], + "summary": "Create Risk Export", + "description": "Initiates a new Export action for Risks.\r\n \r\nReturns the identifier of this Risk Export.", "parameters": [ { "name": "projectId", "in": "path", + "description": "The unique identifier of the Project for which to export Risks", "required": true, "schema": { "type": "string", @@ -4180,6 +4200,7 @@ } ], "requestBody": { + "description": "The settings to use for this export action", "content": { "application/json": { "schema": { @@ -5797,6 +5818,7 @@ "TaskMetadata" ], "summary": "Get task metadata", + "description": "Retrieves extra metadata about a Task", "parameters": [ { "name": "taskId", @@ -5845,7 +5867,8 @@ "tags": [ "TaskMetadata" ], - "summary": "Get tasks by project ID and foreign key ID", + "summary": "Task Metadata Search", + "description": "Get tasks by project ID and foreign key ID", "parameters": [ { "name": "foreignKey", @@ -7679,11 +7702,12 @@ }, "url": { "type": "string", - "description": "The url of the file which can be used for downloading", + "description": "The url of the DownloadFile API to retrieve this file", "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "The DiscussionCommentFile represents a file that has been attached to a discussion\r\nand is available for download." }, "DiscussionEmoji": { "type": "object", @@ -8674,6 +8698,7 @@ }, "taskName": { "type": "string", + "description": "Name of the task this notification is related to", "nullable": true }, "senderFirstName": { @@ -9979,7 +10004,8 @@ "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "The ProjectFile represents an attached file that is connected to a Project\r\nand can be retrieved for download." }, "ProjectFileFolderDto": { "type": "object", @@ -10017,7 +10043,8 @@ "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "Represents information about a Task that is relevant to a ProjectFile" }, "ProjectFolderDto": { "type": "object", @@ -10639,27 +10666,33 @@ "properties": { "type": { "type": "string", + "description": "The type of change made", "nullable": true }, "method": { "type": "string", + "description": "The method used to make the change", "nullable": true }, "property": { "type": "string", + "description": "The property that was changed, if any", "nullable": true }, "value": { "type": "string", + "description": "The new value of the property, or null if the property was cleared", "nullable": true }, "restoreVersion": { "type": "integer", + "description": "The prior version number to restore to", "format": "int32", "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "A ProjectVersionChangeData is information about a change made to a Project that took\r\nit from one Version to another. The information in this object can help track the\r\ndetails of changes made by the user." }, "ProjectVersionDto": { "type": "object", @@ -10720,7 +10753,8 @@ "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "A ProjectVersion is a snapshot of a Project at a specific moment in time. Information on\r\nthe ProjectVersion record keeps track of the unique identity of this version, plus the name\r\nand details of the user who created this version, and the changes that were made." }, "ProjectVersionDtoListAstroResult": { "type": "object", @@ -11568,7 +11602,7 @@ "type": "string", "format": "uuid" }, - "description": "When creating a user they will also be added to the projectIds specified. If null or empty the user will be invited but no access will be given to any projects.", + "description": "When creating a user they will also be added to the projectIds specified. If null or empty the user will be\r\ninvited but no access will be given to any projects.", "nullable": true }, "users": { @@ -11576,11 +11610,12 @@ "items": { "$ref": "#/components/schemas/ResourceCreateDto" }, + "description": "A list of Users to create", "nullable": true } }, "additionalProperties": false, - "description": "A Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." + "description": "The ResourcesCreate object allows you to create multiple Users with a single API call.\r\nIn ProjectManager.com, a User is a special class of Resource.\r\n \r\nA Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." }, "ResourcesDto": { "type": "object", @@ -11590,6 +11625,7 @@ "items": { "$ref": "#/components/schemas/ResourceDto" }, + "description": "The list of the Resources created by this API call.", "nullable": true }, "errors": { @@ -11597,11 +11633,12 @@ "items": { "$ref": "#/components/schemas/UserError" }, + "description": "The list of errors that occurred for Resources that could not be created.", "nullable": true } }, "additionalProperties": false, - "description": "A Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." + "description": "The Resources object represents the results of a bulk Resource creation API call.\r\n \r\nA Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user." }, "ResourcesDtoAstroResult": { "type": "object", @@ -11639,7 +11676,7 @@ "$ref": "#/components/schemas/ResourcesDto" } ], - "description": "A Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user.", + "description": "The Resources object represents the results of a bulk Resource creation API call.\r\n \r\nA Resource represents a person, material, or tool that is used within your Projects.\r\nWhen you attach a Resources to more than one Task, the software will schedule the usage\r\nof your Resource so that it is not allocated to more than one Task at the same time.\r\nThe users in your Workspace are also considered Resources. To invite a new User to your\r\nWorkspace, create a new Resource for that user.", "nullable": true } }, @@ -12254,6 +12291,14 @@ "type": "boolean", "description": "True if this Task is the parent of multiple Tasks underneath it. A parent Task\r\nis a \"rolled-up\" view of multiple children that allows you to view a section of\r\nwork at a glance.\r\n \r\nYou can create a summary Task in the Gantt chart view of the application by\r\nadding child tasks underneath a parent Task." }, + "isLocked": { + "type": "boolean", + "description": "Unlocked tasks can be adjusted by changes to their dependencies, resource leveling, or other factors.\r\n \r\nAll tasks are unlocked by default.\r\n \r\nIf a task is set to `IsLocked` = `true`, the dates and assigned resources are locked for this task and will not\r\nbe automatically changed by any process." + }, + "isMilestone": { + "type": "boolean", + "description": "True if this task is a milestone. Milestones represent a specific point in time for the project. When a\r\nmilestone is locked, it represents a fixed time within the project that can be used to relate to other tasks." + }, "priorityId": { "type": "integer", "description": "Return the priority of a task", @@ -13543,7 +13588,8 @@ "nullable": true } }, - "additionalProperties": false + "additionalProperties": false, + "description": "Represents information about a file attached to a Timesheet." }, "TimesheetResourceDto": { "type": "object", @@ -13904,10 +13950,12 @@ "properties": { "email": { "type": "string", + "description": "The email of the Resource that could not be created", "nullable": true }, "reason": { "type": "string", + "description": "A description of the reason this Resource could not be created", "nullable": true }, "statusCode": { @@ -13915,10 +13963,12 @@ { "$ref": "#/components/schemas/HttpStatusCode" } - ] + ], + "description": "A status code explaining the category of reason this Resource could not be created" } }, - "additionalProperties": false + "additionalProperties": false, + "description": "Represents an individual error for a specific Resource that could not be created in the context\r\nof a bulk Resource creation API call." }, "UserRoleDto": { "type": "object", @@ -13999,13 +14049,14 @@ }, "customerId": { "type": "string", - "description": "TODO - What is this value?", + "description": "This value is marked obsolete as it is no longer used.", "format": "uuid", - "nullable": true + "nullable": true, + "deprecated": true }, "isOwner": { "type": "boolean", - "description": "This value is set to true if the user who retrieves this Workspace object via an API call is \r\nthe owner of this Workspace." + "description": "This value is set to true if the user who retrieves this Workspace object via an API call is\r\nthe owner of this Workspace." }, "organizationId": { "type": "string",