Podium Workflows
Mock the Podium Workflows API to test customer-messaging, review-collection, and CRM-integration flows without a paid Podium account.
[01]
About
Mock 78 endpoints of the Podium Workflows API: conversations, messages, contacts, locations, reviews, calls, automations, payments, and webhook subscriptions. Useful for prototyping local-business CRM tools, review-collection flows, or any integration that drives Podium from outside.
Endpoints
78 across 26 resource groups
Methods
GET 33 · POST 27 · PUT 4 · PATCH 6 · DEL 8 none deprecated
OpenAPI
3.0.0 spec version 2021.04.01
Source spec
307 KB · YAML
[02]
Endpoints
| GET |
/v4/locations
|
List all locations. List of all the locations that the caller has access to. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_locations. Mocked via Mockzilla.
|
| GET |
/v4/locations/{uid}
|
Get a location. Gets a single location by its uid. Required scope: read_locations.
|
| PATCH |
/v4/locations/{uid}
|
Update a location. Update a single location by its uid. Required scope: write_locations. Be aware: The addressDetails property follows the ISO convention. You might see errors if trying to update a location's address with an invalid address.
|
| GET |
/v4/organizations/{uid}
|
Get an organization. Gets a single organization by its uid. Required scope: read_organizations.
|
| GET |
/v4/users
|
List all users. List of all the users that belong to any of the locations that the caller has access to. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_users.
|
| GET |
/v4/users/{uid}
|
Get a user. Gets a user. Required scope: read_users. Available as a Mockzilla mock endpoint.
|
| POST |
/v4/appointments
|
Create an appointment. Create an appointment. Required scope: write_appointments.
|
| GET |
/v4/campaign_interactions
|
List campaign interactions List the campaign interactions that the caller has access to. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Interactions can be filtered by type, uid of the associated resource, or timestamp. Required scope: read_campaigns.
|
| GET |
/v4/campaigns
|
List all campaigns. List of all the campaigns that the caller has access to. The campaigns are sorted by the updatedAt date, in descending order Campaigns can be filtered by their status using the status query parameter Required scope: read_campaigns.
|
| POST |
/v4/campaigns
|
Create a campaign. Create a campaign. Required scope: write_campaigns.
|
| DEL |
/v4/campaigns/{uid}
|
Delete a campaign. Delete an existing campaign. Required scope: write_campaigns. Mockzilla mock: no signup, no API key.
|
| GET |
/v4/campaigns/{uid}
|
Get a campaign. Get a single campaign for the given uid. Required scope: read_campaigns.
|
| PUT |
/v4/campaigns/{uid}
|
Update a campaign. update a campaign. Required scope: write_campaigns.
|
| POST |
/v4/campaigns/{uid}/messages
|
Create a message for a given campaign Send a message through a campaign. Required scope: write_campaign_messages.
|
| GET |
/v4/contact_attributes
|
List contact attributes List contact attributes that are tied to the ownerResource on the token. Required scope: read_contacts.
|
| POST |
/v4/contact_attributes
|
Create a contact attribute Create an application or organization level attribute to be used on contacts. Required scope: write_contacts. Served by the Mockzilla mock runtime.
|
| DEL |
/v4/contact_attributes/{uid}
|
Delete a contact attribute Delete a contact attribute with its uid. Required scope: write_contacts.
|
| GET |
/v4/contact_attributes/{uid}
|
Gets a contact attribute by uid Gets an application or organization level attribute by its uid, to be used on contacts. Required scope: read_contacts.
|
| PATCH |
/v4/contact_attributes/{uid}
|
Update a contact attribute Update an application or organization level attribute to be used on contacts. Required scope: write_contacts.
|
| GET |
/v4/contact_tags
|
List all tags for the organization List all tags for the organization. Required scope: read_contacts.
|
| POST |
/v4/contact_tags
|
Create a contact tag for an organization Create an organization level tag for a contact. Required scope: write_contacts. Mocked via Mockzilla.
|
| GET |
/v4/contact_tags/{uid}
|
Get a contact tag for an organization given an uid Get a organization level tag given the provided uid. Required scope: read_contacts.
|
| PATCH |
/v4/contact_tags/{uid}
|
Update a contact tag Update an organization level tag to be used on contacts. Required scope: write_contacts.
|
| GET |
/v4/contacts
|
List all contacts List all contacts. Required scope: read_contacts.
|
| POST |
/v4/contacts
|
Create a contact Create a contact. If a contact with the same phone number, email, or conversation uid is found it will update the contact. Required scope: write_contacts.
|
| POST |
/v4/contacts/campaigns/opt_in
|
Opt in a contact Opt in a contact into receiving campaign messages. Note: this endpoint requires your application to be whitelisted. Please contact our support team to get your application whitelisted. Required scope: write_contacts. Available as a Mockzilla mock endpoint.
|
| POST |
/v4/contacts/campaigns/opt_out
|
Opt out a contact Opt out a contact from receiving campaign messages. Note: this endpoint requires your application to be whitelisted. Please contact our support team to get your application whitelisted. Required scope: write_contacts
|
| DEL |
/v4/contacts/{identifier}
|
Delete a contact Delete a contact with a conversation uid, email, or phone number. Required scope: write_contacts.
|
| GET |
/v4/contacts/{identifier}
|
Retrieve a contact Get a contact with a conversation uid, email, or phone number. Required scope: read_contacts.
|
| PATCH |
/v4/contacts/{identifier}
|
Update a contact Update a contact with using a conversation uid, email, or phone number as an identifier. Required scope: write_contacts.
|
| DEL |
/v4/contacts/{identifier}/attributes/{uid}
|
Remove an attribute from a contact Remove an attribute from a contact. Required scope: write_contacts. Mockzilla mock: no signup, no API key.
|
| PATCH |
/v4/contacts/{identifier}/attributes/{uid}
|
Update a contact attribute inside a contact Update the value of an existing attribute inside an existing contact. Required scope: write_contacts.
|
| POST |
/v4/contacts/{identifier}/attributes/{uid}
|
Add a contact attribute to a contact Add an existing attribute to an existing contact. Required scope: write_contacts.
|
| DEL |
/v4/contacts/{identifier}/tags/{uid}
|
Remove an existing tag from an existing contact Remove an existing tag from an existing contact. Required scope: write_contacts.
|
| POST |
/v4/contacts/{identifier}/tags/{uid}
|
Add an existing tag to an existing contact Add an existing tag to an existing contact. Required scope: write_contacts.
|
| GET |
/v4/conversations
|
List conversations. List all conversations. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_messages. Served by the Mockzilla mock runtime.
|
| GET |
/v4/conversations/{uid}
|
Get a conversation. Gets a conversation that has previously been created. Required scope: read_messages.
|
| PUT |
/v4/conversations/{uid}
|
Update a conversation. Update a conversation. Required scope: write_messages.
|
| POST |
/v4/conversations/{uid}/lead_writeback
|
Writeback lead Writeback lead to the connected CRM. Required scope: write_writebacks.
|
| POST |
/v4/conversations/{uid}/notes
|
Create a note for given conversation. Creates a note for the given conversation. Required scope: write_messages.
|
| GET |
/v4/feedback
|
List all feedback surveys. List of all the feedback surveys that the caller has access to. The surveys are sorted by createdAt date, with the most recent appearing first. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_feedback. Mocked via Mockzilla.
|
| POST |
/v4/feedback
|
Create a feedback survey. Create a feedback survey. The survey is created asynchronously, so only the UID is returned. Required scope: write_feedback.
|
| GET |
/v4/conversations/{conversation_uid}/messages/{uid}
|
Retreive a message from a conversation Retrieve a message from a conversation. Required scope: read_messages.
|
| POST |
/v4/import/messages
|
Import a message. Import a message from a different system. NOTE: This does not send a message to number, just imports it into a conversation on Podium's system. Required scope: write_messages.
|
| POST |
/v4/messages
|
Send a message. Send a message. A message can only be sent on behalf of a user if they have the necessary permissions to send messages in: conversations assigned to them, conversations assigned to others, and unassigned conversations. Required scope: write_messages.
|
| POST |
/v4/messages/attachment
|
Send a message with attachment. Send a message with an attachment. A message can only be sent on behalf of a user if they have the necessary permissions to send messages in: conversations assigned to them, conversations assigned to others, and unassigned conversations. Required scope: write_messages. Available as a Mockzilla mock endpoint.
|
| GET |
/v4/templates
|
List all templates List all templates. Required scope: read_templates.
|
| POST |
/v4/templates
|
Create a message template. Create a message template. Required scope: write_templates.
|
| DEL |
/v4/templates/{uid}
|
Delete a template Deletes a template by the given uid. Required scope: write_templates
|
| PUT |
/v4/templates/{uid}
|
Update a message template. update a message template. Required scope: write_templates.
|
| GET |
/v4/invoices
|
Get all invoices. List of all invoices that match the query parameters. Required scope: read_payments. Mockzilla mock: no signup, no API key.
|
| POST |
/v4/invoices
|
Create an invoice. Creates an invoice which is either a card_present or a card_not_present invoice. Providing the reader_uid property will create a card_present invoice, but if no reader_uid is provided a card_not_present invoice will be created. Card Present Invoice A card-present-invoice is used to process an invoice through a card reader. After the invoice is created, there is a callback to the card reader to complete the transaction. If no accountUid is given, the card reader's default account is used. Card Not Present Invoice A card-not-present-invoice is used to process an invoice asynchronously. After the invoice is created, a payment link is sent to the customer from the merchants Podium account. The customer can click on the link to complete the transaction. If no accountUid is given, the most recently created account is used. Required scope: write_payments.
|
| GET |
/v4/invoices/{uid}
|
Get an invoice. Gets an invoice that has previously been created. Required scope: read_payments.
|
| POST |
/v4/invoices/{uid}/cancel
|
Cancel an invoice. Cancels an invoice. The seller cannot collect payments for the canceled invoice. Required scope: write_payments.
|
| POST |
/v4/invoices/{uid}/refund
|
Refund an invoice Refunds an invoice. The invoice must currently have a status of paid.If an invoice has a status of created it cannot be refunded, but can be canceled. An invoice can have multiple refunds. The total refunded amount cannot exceed the invoice's amount. Required scope: write_payments.
|
| GET |
/v4/payments/{uid}
|
Get a payment. Gets a single payment by its uid. Required scope: read_payments. Served by the Mockzilla mock runtime.
|
| GET |
/v4/readers/{uid}
|
Get a card reader. Gets a single card reader by its uid. Required scope: read_payments.
|
| POST |
/v4/refunds
|
Create a refund. Creates a refund. (see note) Use with caution. This action creates an Unlinked Refund that is not associated with an Podium Invoice or Payment. This current implementation only works with a Podium Payment Card Reader, reading the customer's credit card data before debiting the refunded amount. Balance requirements. This action requires that your account have on hand an amount equal to or greater than the amount of the refund. The amount for this refund will be deducted from the amount still to pay out from the account. If the account does not have sufficient funds, the refund will fail. Upcoming change: When this resource supports refunding a Podium Invoice, /invoices/uid/refund is planned to be deprecated. Required scope: write_payments.
|
| GET |
/v4/refunds/{uid}
|
Get a refund. Gets a refund that has previously been created. Required scope: read_payments.
|
| GET |
/v4/reviews
|
List all reviews. List of all the reviews that you have access to. The reviews are sorted by createdAt date, with the most recent appearing first. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_reviews.
|
| GET |
/v4/reviews/invites
|
List all review invites. List of all the review invites that you have access to. The review invites are sorted by createdAt date, with the most recent appearing first. If the cursor parameter is used then all other parameters will be ignored. This is to avoid confusion if passing both a cursor and other parameters which would change what data is being returned. Required scope: read_reviews. Mocked via Mockzilla.
|
| POST |
/v4/reviews/invites
|
Create a review invite link. Create a review invite link. Required scope: write_reviews.
|
| GET |
/v4/reviews/invites/{uid}
|
Get a review invite. Get a single review invite by its uid. Required scope: read_reviews.
|
| GET |
/v4/reviews/sites/summary
|
Summary of all connected review sites. Returns a summary of reviews grouped by the site they are from. NOTE: Our docs provider has a bug that doesn't show the correct usage of the locationUids parameter.In order for the request to succeed, for each locationUid you are querying for add a &locationUids[] parameter to the url.For example: https://api.podium.com/v4/reviews/sites/summary?locationUids[]=00000000-0000-0000-0000-000000000000&locationUids[]=00000000-0000-0000-0000-000000000001 If no locationUids parameter is used then the data will be based on all locations that the caller has access to. Required scope: read_reviews.
|
| GET |
/v4/reviews/summary
|
Summary of all reviews Returns a summary of reviews for each location. If thelocationUids parameter is not used then the data will be based on all locations that the caller has access to. Required scope: read_reviews.
|
| PATCH |
/v4/reviews/{review_uid}/responses/{uid}
|
Update response for a given review Update a review response. Required scope: write_reviews. Available as a Mockzilla mock endpoint.
|
| GET |
/v4/reviews/{uid}
|
Get a review. Gets a single review by its uid. Required scope: read_reviews.
|
| DEL |
/v4/reviews/{uid}/attributions
|
Remove a user attribution for a given review Remove a user attribution from a review. Required scope: write_reviews.
|
| POST |
/v4/reviews/{uid}/attributions
|
Attribute a user to a review Attributes a user to a review. Required scope: write_reviews.
|
| GET |
/v4/reviews/{uid}/responses
|
List Responses of a given review List the responses of a given review. Required scope: read_reviews.
|
| POST |
/v4/reviews/{uid}/responses
|
Create response for a given review Create a response for a given review. Required scope: write_reviews. Mockzilla mock: no signup, no API key.
|
| GET |
/v4/webhooks
|
List webhooks. List webhooks that are tied to user who has authorized the application. Required scope: none.
|
| POST |
/v4/webhooks
|
Create a webhook. Create a new webhook to receive events from a location or an organization. One of locationUid or organizationUid is required. If both are given the organizationUid will be used. Required scope: The required scope(s) will depend on the event type(s) you are subscribing too. See the WEBHOOK EVENT TYPES section.
|
| DEL |
/v4/webhooks/{uid}
|
Delete a webhook. Deletes an existing webhook. Required scope: none.
|
| GET |
/v4/webhooks/{uid}
|
Get a webhook. Get a webhook based on its uid. Required scope: none.
|
| PUT |
/v4/webhooks/{uid}
|
Update a webhook. Updates an existing webhook. The location uid and organization uid cannot be updated. All other parameters not provided will be left unchanged. Required scope: The required scope(s) will depend on the event type(s) you are subscribing too. See the WEBHOOK EVENT TYPES section. Served by the Mockzilla mock runtime.
|
| POST |
/v4/dataFeeds/{uid}/events
|
Process an event through a data feed. Process an event through a data feed. The request body will be different depending on your data feed setup. Accepts either a single event or a list of events. Required scope: write_data_feed_event.
|
| POST |
/v4/data_stream/{location_uid}/{integration_uid}/{data_mapping_name}
|
Send integration payload. Send third party integration payloads to Podium. Required scope: write_contacts.
|