Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Python Client wrapper for Typeform API
pip install typeform
1 - Import client library
from typeform import Typeform
2 - Create an instance with your personal token
typeform = Typeform('<api_key>')
3 - Use any of the methods available in the reference
# will retrieve all forms
forms: dict = typeform.forms.list()
Typeform('<api_key>')
typeform = Typeform('<api_key>')
Client returns the following properties:
forms
responses
Each one of them encapsulates the operations related to it (like listing, updating, deleting the resource).
forms.create(data: dict = {})
Creates a form. Returns dict
of created form. See docs.
forms = Typeform('<api_key>').forms
result: dict = forms.create({ 'title': 'Hello World' })
forms.delete(uid: str)
Deletes the form with the given form_id and all of the form's responses. Returns a str
based on success of deletion, OK
on success, otherwise an error message. See docs.
forms = Typeform('<api_key>').forms
result: str = forms.delete('abc123')
forms.get(uid: str)
Retrieves a form by the given form_id. Includes any theme and images attached to the form as references. See docs.
forms = Typeform('<api_key>').forms
result: dict = forms.get('abc123')
forms.list(page: int = None, pageSize: int = None, search: str = None, workspaceId: str = None)
Retrieves a list of JSON descriptions for all forms in your Typeform account (public and private). Forms are listed in reverse-chronological order based on the last date they were modified. See docs.
forms = Typeform('<api_key>').forms
result: dict = forms.list()
forms.update(uid: str, patch: bool = False, data: dict = {})
Updates an existing form. Defaults to put
. put
will return the modified form as a dict
object. patch
will Returns a str
based on success of change, OK
on success, otherwise an error message. See put
docs or patch
docs.
forms = Typeform('<api_key>').forms
result: dict = forms.update('abc123', { 'title': 'Hello World, Again' })
result: str = forms.update('abc123', { 'title': 'Hello World, Again' }, patch=True)
forms.messages.get(uid: str)
Retrieves the customizable messages for a form (specified by form_id) using the form's specified language. You can format messages with bold (bold) and italic (italic) text. HTML tags are forbidden. See docs.
forms = Typeform('<api_key>').forms
result: dict = forms.messages.get('abc123')
forms.messages.update(uid: str, data={})
Specifies new values for the customizable messages in a form (specified by form_id). You can format messages with bold (bold) and italic (italic) text. HTML tags are forbidden. Returns a str
based on success of change, OK
on success, otherwise an error message. See docs.
forms = Typeform('<api_key>').forms
result: str = forms.messages.update('abc123', {
'label.buttonHint.default': 'New Button Hint'
})
responses.list(uid: str, pageSize: int = None, since: str = None, until: str = None, after: str = None, before: str = None, includedResponseIds: str = None, completed: bool = None, sort: str = None, query: str = None, fields: List[str] = None)
Returns form responses and date and time of form landing and submission. See docs.
responses = Typeform('<api_key>').responses
result: dict = responses.list('abc123')
responses.delete(uid: str, includedTokens: Union[str, List[str]])
Delete responses to a form. You must specify the included_tokens
parameter. Returns a str
based on success of deletion, OK
on success, otherwise an error message. See docs.
responses = Typeform('<api_key>').responses
result: str = responses.delete('abc123' 'token1')
result: str = responses.delete('abc123' ['token2', 'token3'])
FAQs
Python Client wrapper for Typeform API
We found that typeform demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.