Skip to main content

Shared Spaces

Working with Shared Spaces via API lets customers and partners automate Shared Space creation, integrate with existing tools, and build manage existing Shared Spaces. They help embed Shared Spaces into sales processes, driving adoption, improving buyer engagement, and enhancing deal outcomes while streamlining workflows and saving time.

Key Benefits

  • Drive Consistency: Embed the use of Shared Spaces in your organization for consistent buyer experiences.

  • Save Time: Automate the creation of Shared Spaces and key updates directly from your CRM or other tools.

  • Boost Collaboration: Seamlessly integrate Shared Spaces with your existing workflows (e.g., deal stage changes or quote generation).

  • Drive Innovation: Build tailored applications and workflows that fit your specific business needs.

By embedding Shared Spaces into sales processes, they can help to drive adoption, improve buyer engagement, and enhance deal outcomes. With automation, sellers can focus on building stronger relationships and closing deals faster, while delivering consistent, high-quality buyer experiences. Here are a few examples of what’s possible:

Automate CreationStandardize WorkflowsIntegrate with Other SystemsManage AccessBuild Custom Workflows
Automatically create a Shared Space, for example when a deal advances in your CRM.Use templates to ensure consistentency and to adapt for different scenarios.Create a Shared Space or trigger automatic updates from other systems (CRM, CPQ, etc.).Modify ownership and user access when information changes in your CRM.Create Shared Spaces for specific scenarios or ad hoc collaboration.
Prequisites
  • Plan: Ultimate | Advanced or Expert
  • Permissions: Administrator access to Showpad's Admin App
  • Config: Shared Spaces enabled

Base Endpoint

The base endpoint for Shared Space management calls is:

https://{{subdomain}}.api.showpad.com/v4

Every API v4 request needs to be prefixed with the base endpoint.

Activity Timeline

Requests made using an API token associated with a user who is not a participant in the Shared Space (always the case when creating a Shared Space), activities in the Shared Space activity timeline will appear as one of the following:

  • An automation created the Shared Space

  • An automation transferred ownership to Sales User

Create and Update

Request Body

Your Create Shared Space and Update Shared Space requests should include the following information:

FieldsData TypeDescription
publicUristringCreate a customized URL with the name you prefer.This name should be unique.

  • If not provided, it will be generated automatically.
  • If provided and the URI is already in use, the API will return an error.

Once the Shared Space is created, this URI:

  • cannot be changed
  • will be visible when sharing your Shared Space
userIdstringThe identifier of the user that will be the new Shared Space's owner.

Once the Shared Space has been created:

  • the owner will receive an email notification
  • requests for access will be sent to the owner
Note: This field is mandatory.
titlestringA customer-facing name for the new Shared Space.

Note: This field is optional if using a template that has a title.
isExternalDownloadAllowedbooleanAllows Shared Space participants to download content.

Possible values:
  • true - Downloads are allowed.
  • false - Downloads are not allowed.
isExternalInviteAllowedbooleanAllows participants to invite others to the Shared Space.

Possible values:
  • true - Invites are allowed.
  • false - Invites are not allowed.
isExternalUploadAllowedbooleanAllows participants to upload their own documents to the Shared Space.

Possible values:
  • true - Uploads are allowed.
  • false - Uploads are not allowed.

Note: The Collaborate+ add-on is required for this.
descriptionstringDescriptive text to describe the Shared Space.
id
(Sharing Theme)
stringThe identifier of a Sharing Theme.

You can use a List of Sharing Themes request to find one.

Note: If not set, the Global Theme will be used
id
(Shared Space Template)
stringThe identifier of a Shared Space Template.

You can use a List of Shared Space Templates request to find one.

Note: This feature requires activation. Please contact your Customer Success Manager if you're interested in using it.

Create Shared Space

You can create a new Shared Spaces with the following request:

MethodEndpointDescription
POST/shared-spacesCreates a new Shared Space.

Example 1

Create a Shared Space
curl -X 'POST' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces \
--header 'Authorization: Bearer MyApiToken' \
--header 'Content-Type: application/json' \
--data '{
"publicUri": "my-shared-space",
"title": "Sales and Marketing teams",
"owner": {
"userId": "9c5f3aa0784df25db1db821354e337e9"
},
}'

Response

{
"publicUri": "my-shared-space",
"owner": {
"userId": "9c5f3aa0784df25db1db821354e337e9"
},
"title": "Sales and Marketing teams",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"description": null,
"theme": {
"id": "9c5f3aa0784df25db1db821354e337e9"
},
"sharedSpaceTemplate": null
}

Example 2

Create a Shared Space from a template
curl -X 'POST' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces \
--header 'Authorization: Bearer MyApiToken' \
--header 'Content-Type: application/json' \
--data '{
"publicUri": "marketing-space",
"description": "Custom description from request",
"sharedSpaceTemplate": {
"id": "976491ea-d7cb-42ca-a576-eff0ccd1957d"
}
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
}'

Response

{
"id": "95e63d4a4d049cb63fea74de4bcb2c90",
"title": "Marketing & Revenue Collaboration",
"publicUri": "marketing-space",
"publicUrl": "https://{{subdomain}}.showpad.com/s/marketing-space",
"status": "ACTIVE",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"createdAt": "2025-01-09T11:38:06.000Z",
"lastActivityAt": "2025-01-09T11:38:05.649Z",
"archivedAt": null,
"description": "Custom description from request",
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecb5385615a564eeef116fec329acb33276"
}
}

Example 3

Create a Shared Space with specified owner and theme
curl -X 'POST' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces \
--header 'Authorization: Bearer MyApiToken' \
--header 'Content-Type: application/json' \
--data '{
"title": "Example SharedSpace",
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecb5385615a564eeef116fec329acb33276"
}
}

Response

The publicUri was not specified in the request, so it was autogenerated.

{
"id": "2132ee1e1f0495ffa445041b52cc062e",
"title": "Example SharedSpace",
"publicUri": "01jh5e2nwf994wvg5h1rvrtf12",
"publicUrl": "https://{{subdomain}}.showpad.com/s/01jh5e2nwf994wvg5h1rvrtf12",
"status": "ACTIVE",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"createdAt": "2025-01-09T11:44:30.000Z",
"lastActivityAt": "2025-01-09T11:44:29.264Z",
"archivedAt": null,
"description": "",
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecb5385615a564eeef116fec329acb33276"
}
}

Update Shared Space

MethodEndpointDescription
PATCH/shared-spaces/{shareId}Updates a specific Shared Space (specified by {shareId}).

Example

curl -X 'PATCH' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces/95e63d4a4d049cb63fea74de4bcb2c90 \
--header 'Authorization: Bearer MyApiToken' \
--header 'Content-Type: application/json' \
--data '{
"title": "ARCHIVED Marketing & Revenue Collaboration",
"status": "ARCHIVED",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": false,
"isExternalDownloadAllowed": false,
"description": "ARCHIVED",
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecbcb1a5b0ba9ae9e5bb38167ed0c5b3a09"
}
}

Response

{
"id": "95e63d4a4d049cb63fea74de4bcb2c90",
"title": "ARCHIVED Marketing & Revenue Collaboration",
"publicUri": "marketing-space",
"publicUrl": "https://{{subdomain}}.showpad.com/s/marketing-space",
"status": "ARCHIVED",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": false,
"isExternalDownloadAllowed": false,
"createdAt": "2025-01-09T11:38:06.000Z",
"lastActivityAt": "2025-01-09T11:38:07.000Z",
"archivedAt": "2025-01-09T11:51:24.271Z",
"description": "ARCHIVED",
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecbcb1a5b0ba9ae9e5bb38167ed0c5b3a09"
}
}

Retrieve Shared Spaces

Single Shared Space

MethodEndpointDescription
GET/shared-spaces/{shareId}Returns a single Shared Space (specified by {shareId}).

Example

curl -X 'GET' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces/b5f5e881324f61479002be5cda41b1ca \
-H 'Authorization: Bearer MyApiToken' \
-H 'Content-Type: application/json'

Response

{
"id": "95e63d4a4d049cb63fea74de4bcb2c90",
"title": "Marketing & Revenue Collaboration",
"publicUri": "marketing-space",
"publicUrl": "https://{{subdomain}}.showpad.com/s/marketing-space",
"status": "ACTIVE",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"createdAt": "2025-01-09T11:38:06.000Z",
"lastActivityAt": "2025-01-09T11:38:07.000Z",
"archivedAt": null,
"description": "Custom description from request",
"owner": {
"userId": "b5f5e881324f61479002be5cda41b1ca"
},
"theme": {
"id": "51be10f001cd0303a4e308a22e051ecb5385615a564eeef116fec329acb33276"
}
}

List of Shared Spaces

You can retreive a list of all the Shared Spaces a user participates in or owns with the following request:

MethodEndpointDescription
GET/shared-spacesReturns a list of all Shared Spaces.
tip

You can filter the list by participant email, owner email, title, etc.

Example

curl -X 'GET' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces \
-H 'Authorization: Bearer MyApiToken' \
-H 'Content-Type: application/json' \

Response

200: Request is successful

{
"count": 2,
"items": [
{
"id": "2132ee1e1f0495ffa445041b52cc062e",
"title": "Example SharedSpace",
"publicUri": "01jh5e2nwf994wvg5h1rvrtf12",
"publicUrl": "https://{{subdomain}}.showpad.com/s/01jh5e2nwf994wvg5h1rvrtf12",
"status": "ACTIVE",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"createdAt": "2025-01-09T11:44:30.000Z",
"lastActivityAt": "2025-01-09T11:44:30.000Z",
"archivedAt": null
},
{
"id": "95e63d4a4d049cb63fea74de4bcb2c90",
"title": "Marketing & Revenue Collaboration",
"publicUri": "marketing-space",
"publicUrl": "https://{{subdomain}}.showpad.com/s/marketing-space",
"status": "ACTIVE",
"isExternalUploadAllowed": false,
"isExternalInviteAllowed": true,
"isExternalDownloadAllowed": true,
"createdAt": "2025-01-09T11:38:06.000Z",
"lastActivityAt": "2025-01-09T11:38:07.000Z",
"archivedAt": null
}
]
}

Delete Shared Space

MethodEndpointDescription
DELETE/shared-spaces/{sharedSpaceId}Permanently removes a single Shared Space (specified by {sharedSpaceId}).

Example

DELETE https://{{subdomain}}.api.showpad.com/v4/shared-spaces/2132ee1e1f0495ffa445041b52cc062e

Response

204;

Transfer Shared Space Ownership

In scenarios such as a user being deactivated or changes within the account team, it becomes necessary to transfer ownership of Shared Spaces. There are two ways to transfer ownership of a Shared Space:

  • via the Showpad Web App - Only the current owner can transfer the ownership.
  • via API - The current owner or an admin can transfer the ownership. The new owner of the Shared Space will receive a notification of the transfer of ownership.
MethodEndpointDescription
POST/shared-spaces/{shared space ID}/transfer-ownershipTransfers the ownership of a Shared Space from one user to another.

The Shared Space's new owner's ID is specified in the request body.

In order to transfer the ownership of a Shared Spaces, you must first have:

Now that you've retrieved both of the necessary IDs, you can make a request to this endpoint:

Example

curl -X 'POST' \
'https://{{subdomain}}.api.showpad.com/v4/shared-spaces/{{shared space ID}}/transfer-ownership' \
-H 'accept: application/problem+json' \
-H 'Content-Type: application/json' \
-data '{
"userId": "{{owner ID}}"
}'

Response

204: Ownership was successfully transferred`

Troubleshooting

CodeDescription
403 ForbiddenRequester has no admin right and is not owner of requested shared-space.
400 Bad RequestNew owner is not found.
400 Bad RequestNew owner is deactivated user.
400 Bad RequestNew owner has no content license.
404 Not foundShared space not found.