Projects

Clone

You can use this endpoint to clone a project.

  • Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/clone
1
  • 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
}
1
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'
1

Cover

You can use this endpoint to generate/regenerate a project cover.

  • Endpoint:
GET https://api.proposalpage.com/projects/<projectId>/screenshot
1
  • Response:
Status: 200

{}
1
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'
1

Create

You can use this endpoint to create a project.

  • Endpoint:
POST https://api.proposalpage.com/projects
1
  • 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
}
1
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'
1

Create From Template

You can use this endpoint to create a project from a template.

  • Endpoint:
POST https://api.proposalpage.com/projects/<templateId>/copy
1
  • 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
}
1
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'
1

Delete

You can use this endpoint to delete a existing project.

  • Endpoint:
DELETE https://api.proposalpage.com/projects/<projectId>
1
  • Response:
Status: 204 (no-content)
1
  • 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'
1

Acceptance Intent

You can use this endpoint to create an intent to accept a project.

  • Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/accept
1
  • Response:
Status: 200

{
  "message": "The token and link to accept the project/proposal has been sent to the customer email",
}
1
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'
1

Confirm Acceptance

You can use this endpoint to confirm the acceptance of a project.

  • Endpoint:
POST https://api.proposalpage.com/projects/accept/<acceptToken>
1
  • Response:
Status: 200

{
  "message": "The project/proposal has been successfully accepted",
}
1
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'
1

Revert Acceptance

You can use this endpoint to revert the acceptance of a project.

  • Endpoint:
POST https://api.proposalpage.com/projects/revert-accept/<acceptReversionToken>
1
  • Response:
Status: 200

{
  "message": "The project/proposal accept has been successfully reverted",
}
1
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'
1

List

You can use this endpoint to list the projects of your account paginated.

  • Endpoint:
GET https://api.proposalpage.com/projects
1
  • 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',
}
1
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'
1

Password

You can use this endpoint to set a password in a project.

  • Endpoint:
POST https://api.proposalpage.com/projects/<projectId>/password
1
  • 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
}
1
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'
1

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
1
  • 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
}
1
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'
1

Retrieve

You can use this endpoint to retrieve a specific project of your account.

  • Endpoint:
GET https://api.proposalpage.com/projects/<projectId>
1
  • 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
}
1
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'
1

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
1
  • 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
}
1
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'
1

Templates

You can use this endpoint to list the projects templates paginated.

  • Endpoint:
GET https://api.proposalpage.com/projects/templates
1
  • 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',
}
1
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'
1

Update

You can use this endpoint to update a existing project.

  • Endpoint:
PUT https://api.proposalpage.com/projects/<projectId>
1
  • 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
}
1
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'
1

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
1
  • Response:
Status: 200

{
  "emailSent": true,
}
1
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'
1
Last Updated: 5/14/2019, 5:46:47 PM