POST/v1/resources/move
Assign or unassign explicitly selected resources atomically
Requires EDIT permission for every selected resource type. Moves only the selected resources; rejects broken variable references, name conflicts and cross-project maintenance targets without partial changes.
Requires PROJECTS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Body parameters
project_id:string | null
Project ID, or null for unassigned.
resources:object[]
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Moved selection and destination |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource or project not found |
| 409 | Conflict | Move would break variable references, create a name conflict, or separate maintenance windows from their targets |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
POST
/v1/resources/movecurl --request POST \
--url https://api.onlineornot.com/v1/resources/move \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"project_id":"a1b2c3d4e5f6g7h8","resources":[{"kind":"check","id":"string"}]}'
Response
{
"result": {
"project_id": "a1b2c3d4e5f6g7h8",
"resources": [
{
"kind": "check",
"id": "string"
}
]
},
"success": true,
"errors": [],
"messages": []
}
POST/v1/projects
Create a project
Requires PROJECTS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Body parameters
name:string
Project name. Unique within the organisation, ignoring case and surrounding spaces.
Responses
| Status | Meaning | Description |
|---|---|---|
| 201 | Created | Project created |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 409 | Conflict | project_name_taken |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
POST
/v1/projectscurl --request POST \
--url https://api.onlineornot.com/v1/projects \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"staging"}'
Response
{
"result": {
"id": "a1b2c3d4e5f6g7h8",
"name": "staging",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/projects
List projects
Requires PROJECTS:READ.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Query parameters
page:integeroptional
Page number of paginated results, starting at 1.
Default: 1
per_page:integeroptional
Number of items per page. Defaults to 20. Continue requesting subsequent pages until the accumulated item count reaches result_info.total_count or a page is empty.
Default: 20
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Paginated owned projects |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object[]
result_info:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
GET
/v1/projectscurl --request GET \
--url https://api.onlineornot.com/v1/projects \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": [
{
"id": "a1b2c3d4e5f6g7h8",
"name": "staging",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"result_info": {
"page": 1,
"per_page": 20,
"count": 1,
"total_count": 1
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/projects/{project_id}
Get a project
Requires PROJECTS:READ.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
project_id:string
Project ID.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Owned project |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Project not found |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
GET
/v1/projects/{project_id}curl --request GET \
--url https://api.onlineornot.com/v1/projects/a1b2c3d4e5f6g7h8 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "a1b2c3d4e5f6g7h8",
"name": "staging",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"success": true,
"errors": [],
"messages": []
}
PATCH/v1/projects/{project_id}
Rename a project
Requires PROJECTS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
project_id:string
Project ID.
Body parameters
name:string
Project name. Unique within the organisation, ignoring case and surrounding spaces.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Renamed project |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Project not found |
| 409 | Conflict | project_name_taken |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
PATCH
/v1/projects/{project_id}curl --request PATCH \
--url https://api.onlineornot.com/v1/projects/a1b2c3d4e5f6g7h8 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"staging"}'
Response
{
"result": {
"id": "a1b2c3d4e5f6g7h8",
"name": "staging",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"success": true,
"errors": [],
"messages": []
}
DELETE/v1/projects/{project_id}
Delete an empty project
Requires PROJECTS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
project_id:string
Project ID.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Deleted project identity |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Project not found |
| 409 | Conflict | project_not_empty |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Internal server error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
DELETE
/v1/projects/{project_id}curl --request DELETE \
--url https://api.onlineornot.com/v1/projects/a1b2c3d4e5f6g7h8 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "a1b2c3d4e5f6g7h8"
},
"success": true,
"errors": [],
"messages": []
}