Project lifecycle
/projects/v1/join-requestsThe requests to join a project the caller has made, as a person.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/projects/v1/join-requests"[ {}]/projects/v1/{id}/join-requestAsks the project's owners to let the caller in. Done as a person.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/join-request" \ -H "Content-Type: application/json" \ -d '{}'{}/projects/v1/{id}/requestsThe pending requests to join the project, or to merge another project into it. Owners only; anyone else is answered 404.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/projects/v1/string/requests"[ {}]/projects/v1/{id}/join-requests/{requestId}/approveApproves a request that belongs to this project. The body may carry a reason of at most 2000 characters.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
The request.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/join-requests/string/approve" \ -H "Content-Type: application/json" \ -d '{}'{}/projects/v1/{id}/join-requests/{requestId}/declineDeclines a request that belongs to this project. The body may carry a reason of at most 2000 characters.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
The request.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/join-requests/string/decline" \ -H "Content-Type: application/json" \ -d '{}'{}/projects/v1/{id}/mergeOwners of the source project, or an administrator. dryRun=1 answers what would move, with a sentence, and changes nothing. Otherwise the merge waits on the target's owners' approval and answers with the request; it happens at once when the caller owns both projects, or with force: true for an administrator.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project to merge away.
Query Parameters
1 or true to preview only.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/merge" \ -H "Content-Type: application/json" \ -d '{ "into": "string" }'{}/projects/v1/{id}/archiveOwners, or an administrator. A project already archived or merged answers 409.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/archive"{}/projects/v1/{id}/restoreOwners, or an administrator.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/restore"{}/projects/v1/{id}/transferOne of the owners, or an administrator. The new owner is a person who has signed in to the organisation. An archived or merged project is restored first.
A device access token from the device-code flow (aioe_at_…). A DPoP-bound token is sent as Authorization: DPoP <token> with a fresh DPoP proof on every request.
In: header
Path Parameters
The project.
Header Parameters
Mojo Up AI Cloud only, with a person's access token: the id of the organisation the request is for. A person's session is not tied to one organisation, so each request names it. Device tokens already carry their organisation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/projects/v1/string/transfer" \ -H "Content-Type: application/json" \ -d '{ "to": "string" }'{}