> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.hindsiteind.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.hindsiteind.com/_mcp/server.

# Post Form Steps Decision

POST https://app.hindsiteind.com/api/v2/form_steps/decision
Content-Type: application/json

Reference: https://api-docs.hindsiteind.com/hindsite-api/form-steps/post-form-steps-decision

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v2/form_steps/decision:
    post:
      operationId: post-form-steps-decision
      summary: Post Form Steps Decision
      tags:
        - subpackage_formSteps
      parameters:
        - name: Authorization
          in: header
          description: >-
            OAuth 2.0 Client Credentials Flow. To obtain an access token:


            1. Request API credentials from HINDSITE support to receive your
            `client_id` and `client_secret`


            2. Make a POST request to obtain an access token:

            ```

            POST https://app.hindsiteind.com/oauth/token

            Content-Type: application/x-www-form-urlencoded


            grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET

            ```


            3. The response will contain your access token:

            ```json

            {
              "access_token": "your_access_token_here",
              "token_type": "Bearer",
              "expires_in": 7200,
              "created_at": 1234567890
            }

            ```


            4. Include the token in subsequent API requests:

            ```

            Authorization: Bearer your_access_token_here

            ```
          required: true
          schema:
            type: string
      responses:
        '201':
          description: created Decision
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormStep'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/postV2FormStepsDecision'
servers:
  - url: https://app.hindsiteind.com
    description: Production
components:
  schemas:
    postV2FormStepsDecision:
      type: object
      properties:
        form_step_id:
          type: string
        instruction_decision_id:
          type: string
        next_instruction_step_id:
          type: string
        decision_value:
          type: string
        decision_colour:
          type: string
      required:
        - form_step_id
        - instruction_decision_id
        - next_instruction_step_id
        - decision_value
      title: postV2FormStepsDecision
    FormOption:
      type: object
      properties:
        id:
          type: string
          description: ULID
        value:
          type: string
        colour:
          type: string
        instruction_option_id:
          type: string
          description: ULID
      title: FormOption
    FormRecord:
      type: object
      properties:
        id:
          type: string
          description: ULID
        value:
          type: string
      title: FormRecord
    Content:
      type: object
      properties:
        id:
          type: string
          description: ULID
        original:
          type: string
          description: Presigned URL
        versions:
          type: array
          items:
            type: string
        thumbnails:
          type: array
          items:
            type: string
        title:
          type: string
      title: Content
    FormAttachment:
      type: object
      properties:
        id:
          type: string
          description: ULID
        content:
          $ref: '#/components/schemas/Content'
        excluded_from_export:
          type: boolean
      title: FormAttachment
    FormInput:
      type: object
      properties:
        id:
          type: string
          description: ULID
        input:
          type: string
        unformatted_date_input:
          type: string
        selected_multi_options:
          type: array
          items:
            $ref: '#/components/schemas/FormOption'
        selected_input_records:
          type: array
          items:
            $ref: '#/components/schemas/FormRecord'
        failed_validations:
          type: array
          items:
            type: string
        prefix:
          type: string
        suffix:
          type: string
        instruction_input_title:
          type: string
        instruction_input_type:
          type: string
        instruction_input_id:
          type: string
          description: ULID
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FormAttachment'
        form_step_id:
          type: string
          description: ULID
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: FormInput
    User:
      type: object
      properties:
        id:
          type: string
          description: ULID
        email:
          type: string
        name:
          type: string
        is_admin:
          type: boolean
        location_manager:
          type: boolean
        last_active_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        archived:
          type: boolean
        organisation_id:
          type: string
          description: ULID
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: User
    Note:
      type: object
      properties:
        id:
          type: string
          description: ULID
        content:
          type: string
          description: Sanitized HTML content
        plain_text_content:
          type: string
        user:
          $ref: '#/components/schemas/User'
        noteable_type:
          type: string
        noteable_id:
          type: string
          description: ULID
        attachments:
          type: array
          items:
            description: Any type
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: Note
    ActionAssignedTo:
      type: object
      properties:
        id:
          type: string
          description: ULID
        name:
          type: string
      title: ActionAssignedTo
    Action:
      type: object
      properties:
        id:
          type: string
          description: ULID
        title:
          type: string
        description:
          type: string
        status:
          type: string
        priority:
          type: string
        actionable_type:
          type: string
        actionable_id:
          type: string
          description: ULID
        assigned_to_id:
          type: string
          description: ULID
        user_id:
          type: string
          description: ULID
        organisation_id:
          type: string
          description: ULID
        due_date:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        completed_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        notes:
          type: array
          items:
            $ref: '#/components/schemas/Note'
        user:
          $ref: '#/components/schemas/User'
        contents:
          type: array
          items:
            $ref: '#/components/schemas/Content'
        assigned_to:
          $ref: '#/components/schemas/ActionAssignedTo'
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: Action
    FormComment:
      type: object
      properties:
        id:
          type: string
          description: ULID
        description:
          type: string
        user:
          $ref: '#/components/schemas/User'
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: FormComment
    FormStep:
      type: object
      properties:
        id:
          type: string
          description: ULID
        instruction_step_id:
          type: string
          description: ULID
        form_id:
          type: string
          description: ULID
        started_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        next_instruction_step_id:
          type: string
          description: ULID
        decision_value:
          type: string
        instruction_decisions_id:
          type: string
          description: ULID. Deprecated, use instruction_decision_id
        instruction_decision_id:
          type: string
          description: ULID
        decision_colour:
          type: string
        flagged:
          type: boolean
        instruction_step_title:
          type: string
        instruction_step_section_title:
          type: string
        instruction_step_description:
          type: string
        report_description:
          type: string
        terminal:
          type: boolean
        completed_by_user_id:
          type: string
          description: ULID
        first_step:
          type: boolean
        defects_count:
          type: integer
        active_defects_count:
          type: integer
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/FormInput'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        comment:
          $ref: '#/components/schemas/FormComment'
        completed_by_user:
          $ref: '#/components/schemas/User'
        created_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
        updated_at:
          type: integer
          format: int64
          description: Unix timestamp (seconds since epoch)
      title: FormStep
  securitySchemes:
    OAuth2:
      type: http
      scheme: bearer
      description: >-
        OAuth 2.0 Client Credentials Flow. To obtain an access token:


        1. Request API credentials from HINDSITE support to receive your
        `client_id` and `client_secret`


        2. Make a POST request to obtain an access token:

        ```

        POST https://app.hindsiteind.com/oauth/token

        Content-Type: application/x-www-form-urlencoded


        grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET

        ```


        3. The response will contain your access token:

        ```json

        {
          "access_token": "your_access_token_here",
          "token_type": "Bearer",
          "expires_in": 7200,
          "created_at": 1234567890
        }

        ```


        4. Include the token in subsequent API requests:

        ```

        Authorization: Bearer your_access_token_here

        ```

```

## Examples



**Request**

```json
{
  "form_step_id": "string",
  "instruction_decision_id": "string",
  "next_instruction_step_id": "string",
  "decision_value": "string"
}
```

**Response**

```json
{
  "id": "string",
  "instruction_step_id": "string",
  "form_id": "string",
  "started_at": 1,
  "next_instruction_step_id": "string",
  "decision_value": "string",
  "instruction_decisions_id": "string",
  "instruction_decision_id": "string",
  "decision_colour": "string",
  "flagged": true,
  "instruction_step_title": "string",
  "instruction_step_section_title": "string",
  "instruction_step_description": "string",
  "report_description": "string",
  "terminal": true,
  "completed_by_user_id": "string",
  "first_step": true,
  "defects_count": 1,
  "active_defects_count": 1,
  "inputs": [
    {
      "id": "string",
      "input": "string",
      "unformatted_date_input": "string",
      "selected_multi_options": [
        {
          "id": "string",
          "value": "string",
          "colour": "string",
          "instruction_option_id": "string"
        }
      ],
      "selected_input_records": [
        {
          "id": "string",
          "value": "string"
        }
      ],
      "failed_validations": [
        "string"
      ],
      "prefix": "string",
      "suffix": "string",
      "instruction_input_title": "string",
      "instruction_input_type": "string",
      "instruction_input_id": "string",
      "attachments": [
        {
          "id": "string",
          "content": {
            "id": "string",
            "original": "string",
            "versions": [
              "string"
            ],
            "thumbnails": [
              "string"
            ],
            "title": "string"
          },
          "excluded_from_export": true
        }
      ],
      "form_step_id": "string",
      "created_at": 1,
      "updated_at": 1
    }
  ],
  "actions": [
    {
      "id": "string",
      "title": "string",
      "description": "string",
      "status": "string",
      "priority": "string",
      "actionable_type": "string",
      "actionable_id": "string",
      "assigned_to_id": "string",
      "user_id": "string",
      "organisation_id": "string",
      "due_date": 1,
      "completed_at": 1,
      "notes": [
        {
          "id": "string",
          "content": "string",
          "plain_text_content": "string",
          "user": {
            "id": "string",
            "email": "string",
            "name": "string",
            "is_admin": true,
            "location_manager": true,
            "last_active_at": 1,
            "archived": true,
            "organisation_id": "string",
            "created_at": 1,
            "updated_at": 1
          },
          "noteable_type": "string",
          "noteable_id": "string",
          "attachments": [
            null
          ],
          "created_at": 1,
          "updated_at": 1
        }
      ],
      "user": {
        "id": "string",
        "email": "string",
        "name": "string",
        "is_admin": true,
        "location_manager": true,
        "last_active_at": 1,
        "archived": true,
        "organisation_id": "string",
        "created_at": 1,
        "updated_at": 1
      },
      "contents": [
        {
          "id": "string",
          "original": "string",
          "versions": [
            "string"
          ],
          "thumbnails": [
            "string"
          ],
          "title": "string"
        }
      ],
      "assigned_to": {
        "id": "string",
        "name": "string"
      },
      "created_at": 1,
      "updated_at": 1
    }
  ],
  "comment": {
    "id": "string",
    "description": "string",
    "user": {
      "id": "string",
      "email": "string",
      "name": "string",
      "is_admin": true,
      "location_manager": true,
      "last_active_at": 1,
      "archived": true,
      "organisation_id": "string",
      "created_at": 1,
      "updated_at": 1
    },
    "created_at": 1,
    "updated_at": 1
  },
  "completed_by_user": {
    "id": "string",
    "email": "string",
    "name": "string",
    "is_admin": true,
    "location_manager": true,
    "last_active_at": 1,
    "archived": true,
    "organisation_id": "string",
    "created_at": 1,
    "updated_at": 1
  },
  "created_at": 1,
  "updated_at": 1
}
```

**SDK Code**

```python
import requests

url = "https://app.hindsiteind.com/api/v2/form_steps/decision"

payload = {
    "form_step_id": "string",
    "instruction_decision_id": "string",
    "next_instruction_step_id": "string",
    "decision_value": "string"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://app.hindsiteind.com/api/v2/form_steps/decision';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"form_step_id":"string","instruction_decision_id":"string","next_instruction_step_id":"string","decision_value":"string"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://app.hindsiteind.com/api/v2/form_steps/decision"

	payload := strings.NewReader("{\n  \"form_step_id\": \"string\",\n  \"instruction_decision_id\": \"string\",\n  \"next_instruction_step_id\": \"string\",\n  \"decision_value\": \"string\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://app.hindsiteind.com/api/v2/form_steps/decision")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"form_step_id\": \"string\",\n  \"instruction_decision_id\": \"string\",\n  \"next_instruction_step_id\": \"string\",\n  \"decision_value\": \"string\"\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://app.hindsiteind.com/api/v2/form_steps/decision")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"form_step_id\": \"string\",\n  \"instruction_decision_id\": \"string\",\n  \"next_instruction_step_id\": \"string\",\n  \"decision_value\": \"string\"\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://app.hindsiteind.com/api/v2/form_steps/decision', [
  'body' => '{
  "form_step_id": "string",
  "instruction_decision_id": "string",
  "next_instruction_step_id": "string",
  "decision_value": "string"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://app.hindsiteind.com/api/v2/form_steps/decision");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"form_step_id\": \"string\",\n  \"instruction_decision_id\": \"string\",\n  \"next_instruction_step_id\": \"string\",\n  \"decision_value\": \"string\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "form_step_id": "string",
  "instruction_decision_id": "string",
  "next_instruction_step_id": "string",
  "decision_value": "string"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://app.hindsiteind.com/api/v2/form_steps/decision")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```