projects[]: either an array, or 'null' when no projects exist
projects[].handle: the Project identifier that's used in the Project's URL
projects[].title: the Project identifier that's displayed on the website
projects[].description: a more detailed project description
projects[].homepage: a link leading to the project's website
projects[].repository: a link leading to the project's source code repository
projects[].listed: when "true", the project will appear both in the project browser, and in your profile page (https://flashmypico.com/profile/USER_HANDLE).
projects[].created_at: the timestamp taken at the moment the Project was created
status: either "ok", "unauthorized" or "subscription inactive"
project.handle: the Project identifier that's used in the project URL
project.title: the Project identifier that's displayed on the website
project.description: a more detailed project description
project.homepage: a link leading to the project's website
project.repository: a link leading to the project's source code repository
project.listed: when "true", the project will appear both in the project browser, and in your profile page (https://flashmypico.com/profile/USER_HANDLE).
project.created_at: the timestamp taken at the moment your Project was created
status: either "ok", "unauthorized" or "subscription inactive"
/v1/api/project/NEW_PROJECT_HANDLE (POST)
Description
This endpoint creates new Project. The new project's handle (the identifier used in the project's on-line flashing tool link) is defined in the API call URL itself.
Request contents
title: the Project identifier that's displayed on the website
device_handle: the microcontroller type, as returned by the /v1/api/devices call
project.handle: the Project identifier that's used in the project URL
project.title: the Project identifier that's displayed on the website
project.description: this field will remain empty for newly created projects
project.homepage: this field will remain empty for newly created projects
project.repository: this field will remain empty for newly created projects
project.listed: for new projects, this field will be set to "false"
project.created_at: the timestamp taken at the moment your Project was created
status: "ok", "unauthorized", "subscription inactive", "handle already in use", or "no such device". In the last case, the provided device handle does not map to any chip returned by the /v1/api/devices call.
/v1/api/project/PROJECT_HANDLE (PUT)
Description
This endpoint updates Project's attributes, such as its title, its description, and so on.
Request contents
All of the listed fields are optional.
new_handle: the Project identifier that's used in the project URL
title: the Project identifier that's displayed on the website
description: your project's (longer) description, shown on the website
repository: your project's source code repository URL
device: a handle matching your chip, as returned by /v1/api/devices
listed: when "true", the project will appear both in the project browser, and in your profile page (https://flashmypico.com/profile/USER_HANDLE).
Usage
curl -X PUT \
-d title="A New Title" \
(...) \
-sH "Authorization: Bearer YOUR_API_KEY" \
https://flashmypico.com/v1/api/project/PROJECT_HANDLE | jq
Response
{
"status": "ok"
}
Response contents
status: "ok", "unauthorized", "subscription inactive", or "no such device". In the last case, the provided device handle does not map to any chip returned by the /v1/api/devices call.
boards[].Label: board's human readable label (string)
boards[].ChipID: board's unique chip ID (string)
boards[].AssignedProjectHandle: assigned firmware project's handle, if the board is assigned to a project; otherwise an empty string. This field becomes empty after the referenced project is deleted.
boards[].LastFlashedImageHandle: handle of the firmware project that was flashed onto this board last, if any; otherwise an empty string. This field becomes empty after the referenced project is deleted.
boards[].LastFlashedBuildID: an ID of the build that was flashed onto this board last, if any; otherwise an empty string. This field becomes empty after the referenced build is deleted.
boards[].LastFlashedFirmwareVersion: a string formed of the flashed project handle, and the build version.
boards[].LastFlashedAt: last flashing timestamp
boards[].Status: board's firmware version status: "unassigned", "unknown", "up-to-date" or "outdated".
boards[].CreatedAt: board's creation timestamp
status: "ok", or "internal server error"
/v1/api/board/BOARD_ID (GET)
Description
Retrieves information on a particular board, identified by BOARD_ID.
board.Label: board's human readable label (string)
board.ChipID: board's unique chip ID (string)
board.AssignedProjectHandle: assigned firmware project's handle, if the board is assigned to a project; otherwise an empty string. This field becomes empty after the referenced project is deleted.
board.LastFlashedImageHandle: handle of the firmware project that was flashed onto this board last, if any; otherwise an empty string. This field becomes empty after the referenced project is deleted.
board.LastFlashedBuildID: an ID of the build that was flashed onto this board last, if any; otherwise an empty string. This field becomes empty after the referenced build is deleted.
board.LastFlashedFirmwareVersion: a string formed of the flashed project handle, and the build version.
board.LastFlashedAt: last flashing timestamp
board.Status: board's firmware version status: "unassigned", "unknown", "up-to-date" or "outdated".
board.CreatedAt: board's creation timestamp
status: "ok", "no such board", or "internal server error"