Projects
Clone
You can use this endpoint to clone a project.
- Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/clone
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that is going to be cloned. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/clone'
Cover
You can use this endpoint to generate/regenerate a project cover.
- Endpoint:
GET https://api.proposalpage.com/projects/<projectId>/screenshot
- Response:
Status: 200
{}
2
3
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that the cover is going to be generated/regenerated. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XGET -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/screenshot'
Create
You can use this endpoint to create a project.
- Endpoint:
POST https://api.proposalpage.com/projects
- Response:
Status: 201
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
Path: Empty.
Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body:
Name Type Description Required title string Project Title. ✔️ token string Project Token. fonts array Project Fonts. publish boolean Project is published or not. secure boolean Project is secure (protected with a password) or not. password string Project Password. blocks array Project blocks. currency string Project currency. Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" -d '{ "title": "Project Title", "blocks": [] }' 'https://api.proposalpage.com/projects'
Create From Template
You can use this endpoint to create a project from a template.
- Endpoint:
POST https://api.proposalpage.com/projects/<templateId>/copy
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required templateId string The id of the template that the project will be created from. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cb5dfb998e83d001ab9e5e0/copy'
Delete
You can use this endpoint to delete a existing project.
- Endpoint:
DELETE https://api.proposalpage.com/projects/<projectId>
- Response:
Status: 204 (no-content)
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that is going to be deleted. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XDELETE -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74'
Acceptance Intent
You can use this endpoint to create an intent to accept a project.
- Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/accept
- Response:
Status: 200
{
"message": "The token and link to accept the project/proposal has been sent to the customer email",
}
2
3
4
5
Parameters:
- Path:
Name Type Description Required projectId string The id of the project to perform the intention to accept. ✔️ Header: Empty.
Body: Empty.
Example:
curl -XPOST -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/accept'
Confirm Acceptance
You can use this endpoint to confirm the acceptance of a project.
- Endpoint:
POST https://api.proposalpage.com/projects/accept/<acceptToken>
- Response:
Status: 200
{
"message": "The project/proposal has been successfully accepted",
}
2
3
4
5
Parameters:
- Path:
Name Type Description Required acceptToken string The project accept token received in the email. ✔️ Header: Empty.
Body: Empty.
Example:
curl -XPOST -H "Content-type: application/json" 'https://api.proposalpage.com/projects/accept/28f39ba5-f3fa-38c1-9672-067110134c58'
Revert Acceptance
You can use this endpoint to revert the acceptance of a project.
- Endpoint:
POST https://api.proposalpage.com/projects/revert-accept/<acceptReversionToken>
- Response:
Status: 200
{
"message": "The project/proposal accept has been successfully reverted",
}
2
3
4
5
Parameters:
- Path:
Name Type Description Required acceptReversionToken string The project accept reversion token received in the email. ✔️ Header: Empty.
Body: Empty.
Example:
curl -XPOST -H "Content-type: application/json" 'https://api.proposalpage.com/projects/revert-accept/28f39ba5-f3fa-38c1-9672-067110134c58'
List
You can use this endpoint to list the projects of your account paginated.
- Endpoint:
GET https://api.proposalpage.com/projects
- Response:
Status: 200
{
"items": [ projectSchema ],
"totalItems": 50,
"page": 1,
"limit": 10,
"pages": 5,
"defaultCover": 'https://s3.amazonaws.com/proposal-page-media/default-ss-img.jpg',
}
2
3
4
5
6
7
8
9
10
Parameters:
Path: Empty.
Query String:
Name Type Description Required page number The page that you want do list. itemsPerPage number The number of projects per page. title string Filter projects by title (eg.: title='test' will list all projects that the title starts with 'test'). - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XGET -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects?page=1&itemsPerPage=10'
Password
You can use this endpoint to set a password in a project.
- Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/password
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that the password is going to be updated. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body:
Name Type Description Required password string Project password. ✔️ Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" -d '{ "password": "my-password" }' 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/password'
Publish
You can use this endpoint to publish/unpublish a project.
When you make the request, if the project is published it will be unpublished and vice-versa.
- Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/publish
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that is going to be published/unpublished. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/publish'
Retrieve
You can use this endpoint to retrieve a specific project of your account.
- Endpoint:
GET https://api.proposalpage.com/projects/<projectId>
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that the is going to be retrieved. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XGET -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74'
Secure
You can use this endpoint to secure/unsecure a project.
When you make the request, if the project is secured it will be unsecured and vice-versa.
- Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/secure
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that is going to be secured/unsecured. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XPOST -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/secure'
Templates
You can use this endpoint to list the projects templates paginated.
- Endpoint:
GET https://api.proposalpage.com/projects/templates
- Response:
Status: 200
{
"items": [ projectSchema ],
"totalItems": 50,
"page": 1,
"limit": 10,
"pages": 5,
"defaultCover": 'https://s3.amazonaws.com/proposal-page-media/default-ss-img.jpg',
}
2
3
4
5
6
7
8
9
10
Parameters:
Path: Empty.
Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body: Empty.
Example:
curl -XGET -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" 'https://api.proposalpage.com/projects/templates'
Update
You can use this endpoint to update a existing project.
- Endpoint:
PUT https://api.proposalpage.com/projects/<projectId>
- Response:
Status: 200
{
"title": "Project Title",
"fonts": [],
"publish": false,
"secure": false,
"countViews": 0,
"timeViews": 0,
"priority": 0,
"_id": "5cbe31f7372099001a4f0d74",
"blocks": [ blockSchema ],
"userId": "5c9cfd2f853c5a000f47a749",
"accountId": "5c9cfd2f853c5a000f47a748",
"token": "39d4dbe3-3dd6-3e8f-87b9-5f9dcf3659dc",
"slug": "project-title",
"publishURL": "https://app.proposalpage.com/view/5cbe31f7372099001a4f0d74/project-title",
"createdAt": "2019-04-22T21:28:23.495Z",
"updatedAt": "2019-04-22T21:28:23.495Z",
"__v": 0
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that is going to be updated. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. ✔️ - Body:
Name Type Description Required title string Project Title. token string Project Token. fonts array Project Fonts. publish boolean Project is published or not. secure boolean Project is secure (protected with a password) or not. password string Project Password. blocks array Project blocks. currency string Project currency. Example:
curl -XPUT -H 'Authorization: Bearer $TOKEN' -H "Content-type: application/json" -d '{ "title": "Updated Title" }' 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74'
View and Notify
You can use this endpoint to update project last view time and send email with notification only if is not the project owner viewing.
- Endpoint:
PUT https://api.proposalpage.com/projects/<projectId>/view-and-notify
- Response:
Status: 200
{
"emailSent": true,
}
2
3
4
5
Parameters:
- Path:
Name Type Description Required projectId string The id of the project that are being viewed. ✔️ - Header:
Name Type Description Required Authorization string Your Bearer Token obtained in the Auth Token endpoint. - Body: Empty.
Example:
curl -XPUT -H "Content-type: application/json" 'https://api.proposalpage.com/projects/5cbe31f7372099001a4f0d74/view-and-notify'