Modifying Forms

Update a specific Form.


PATCH https://utilityapi.com/api/v2/forms/form_uid
# Archive a Form
curl -X PATCH -H 'Authorization: Bearer API_TOKEN_HERE' \
    -d '{"is_archived": true}' \
    'https://utilityapi.com/api/v2/forms/1234'
# Disable and archive a Form
curl -X PATCH -H 'Authorization: Bearer API_TOKEN_HERE' \
    -d '{"disabled": true, "is_archived": true}' \
    'https://utilityapi.com/api/v2/forms/1234'

The request body must be a valid JSON object. Below are the parameters that can be updated. If a parameter isn't included in the request body, it isn't changed.

Parameter Format Description Example
is_archived Boolean Set the archive state of the Form. true
disabled Boolean Set the disabled state of the Form. true
template_uid UID String Unique identifier of the Template on which the form is based. This is a fixed uid form most users. true
authorization_uid UID String or null Unique identifier of the Authorization for which this form is an update. This is null for new authorization forms and a string uid for re-authorizations. null
customer_email String or null Prefill value of the utility customer email field on the authorization form. If null, this field is left blank and will need to be filled in by the utility customer. "heather.homeowner@yahoo.com"
utility UtilityID or null The default selection for the utility in the authorization form. If null, the utility customer will need to select their utility from a dropdown. "PG&E"
scope Scope Any non-default authorization scope parameters that are being requested. If {}, all default authorization scopes are used. {"expires": "7d"}

Returns the updated Form object.

// Example result
{
    "uid": "12345",
    "created": "2016-01-01T12:30:24.653422+00:00",
    "updated": "2016-01-01T12:30:24.653422+00:00",
    "template_uid": "123423435",
    ...
}
Code Response Format Description
200 Form Successful request.
400 Error The PATCH parameters are malformed. Check the error in the response for the type of error:
  • form_unavailable
  • invalid_param
  • invalid_user
  • invalid_template
  • invalid_authorization
  • invalid_customer_email
  • invalid_utility
  • invalid_scope
  • invalid_expires
  • ... - We may add more error types in the future, so be able to handle unknown types.
401 Error Invalid or missing access_token. See our docs on Authentication for how to properly use your access_token.
404 Error This Form doesn't exist or you don't have permissions to see it.
429 N/A The request was rate limited. Check the Retry-After response header for how long to wait until retrying the request. Do not expect any specific response format for this error (could be html, json, or nothing).
500 N/A Internal server error. Do not expect any specific response format for this error (could be html, json, or nothing). This error is logged and will be fixed by our engineers.
503 N/A Site is currently down for maintenance. Do not expect any specific response format for this error (could be html, json, or nothing).
504 N/A We tried to build this request but timed out. Please try again later. Do not expect any specific response format for this error (could be html, json, or nothing).