> ## Documentation Index
> Fetch the complete documentation index at: https://redbark.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Set a fact

> Enters a value of a fact by hand. It is accepted at once and a value waiting for review keeps waiting. For a fact of one value (address, date of birth, employer, salary) it replaces the current one, which stays in the history. For a fact of several values it adds one, or with replaces swaps that one value. key must be a fact of the firm that is not archived (list_fact_definitions); facts are set up in Settings, never here. Dates are YYYY-MM-DD and amounts dollars. Tax file numbers, identity document numbers, government reference numbers and medical details are refused (value_never_kept). The same value as the one it would replace changes nothing.



## OpenAPI

````yaml /openapi/advisor.json post /clients/{client}/facts
openapi: 3.1.0
info:
  title: Redbark Advisor API
  version: 2.0.0
  description: >-
    Read and write access to one advice firm in Redbark Advisor: clients,
    checklists, documents, money, messages, reports, team and webhooks. Send an
    API key or a connected app’s access token as a bearer token. A credential
    carries scopes, one read and one write per area, and each call says the
    scope it needs. A write scope brings its read scope. Each key may make 120
    requests a minute.
servers:
  - url: https://advisor.redbark.com/api/v1
security:
  - bearerAuth: []
tags:
  - name: Firm
    description: The firm, its name and its branding.
  - name: Team
    description: Team members and their roles.
  - name: Clients
    description: Clients, their people and portal invites.
  - name: Checklists
    description: Checklist templates, the checklists sent to clients and their answers.
  - name: Documents
    description: Documents clients upload and the details read from them.
  - name: Money
    description: Bank connections, accounts, balances and transactions.
  - name: Document types
    description: Document types, their fields and the client facts they fill.
  - name: Messages
    description: Messages between the firm and clients.
  - name: Reports
    description: Reports exported for clients.
  - name: Webhooks
    description: Webhook endpoints and their deliveries.
  - name: Webhook events
    description: Events sent to your webhook endpoints.
paths:
  /clients/{client}/facts:
    post:
      tags:
        - Documents
      summary: Set a fact
      description: >-
        Enters a value of a fact by hand. It is accepted at once and a value
        waiting for review keeps waiting. For a fact of one value (address, date
        of birth, employer, salary) it replaces the current one, which stays in
        the history. For a fact of several values it adds one, or with replaces
        swaps that one value. key must be a fact of the firm that is not
        archived (list_fact_definitions); facts are set up in Settings, never
        here. Dates are YYYY-MM-DD and amounts dollars. Tax file numbers,
        identity document numbers, government reference numbers and medical
        details are refused (value_never_kept). The same value as the one it
        would replace changes nothing.
      operationId: set_fact
      parameters:
        - name: client
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 60
            description: The client id, from list_clients.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                  minLength: 1
                  maxLength: 120
                  description: The fact, such as address, salary or a firm_ key.
                value:
                  type: string
                  maxLength: 500
                note:
                  anyOf:
                    - type: string
                      maxLength: 500
                      description: Why it was entered or changed.
                    - type: 'null'
                replaces:
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 60
                      description: >-
                        A current value of the same fact to replace, from
                        list_facts.
                    - type: 'null'
              required:
                - key
                - value
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fact'
        '400':
          description: The request is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The API key or access token is missing, wrong, expired or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: >-
            subscription_required: the firm has no active subscription, so it
            cannot add or invite clients or send checklists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            The credential lacks the scope this call needs, the call is for
            admins only, or the member it acts as has left the firm.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such resource in this firm.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The resource is in a state that does not allow this, such as an
            archived client, or client_limit_reached: the plan’s 20 active
            clients are in use.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: The request body is too large.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests. See the Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Something went wrong on our side. Try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth:
            - documents:write
components:
  schemas:
    Fact:
      type: object
      properties:
        object:
          type: string
          enum:
            - fact
        id:
          type: string
        key:
          type: string
          description: >-
            Such as address or salary. A fact the firm made has a key starting
            firm_ (list_fact_definitions).
        label:
          type: string
        value:
          type: string
          description: Dates are YYYY-MM-DD and amounts are dollars with two decimals.
        read_value:
          anyOf:
            - type: string
            - type: 'null'
          description: The value as read, when a member changed it.
        status:
          type: string
          enum:
            - proposed
            - accepted
            - rejected
        origin:
          type: string
          enum:
            - document
            - member
            - ask
          description: >-
            document (read from a document), member (entered by hand) or ask
            (proposed by Ask for a member).
        entered_by:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The member who entered it by hand, or who asked Ask for it. Null for
            a document’s value.
        note:
          anyOf:
            - type: string
            - type: 'null'
          description: Why it was entered or changed, in the member’s words.
        superseded:
          type: boolean
          description: A newer accepted value replaced it.
        removed:
          type: boolean
          description: A member removed it. It is kept for history and no longer current.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
        page:
          anyOf:
            - type: number
            - type: 'null'
        box:
          anyOf:
            - type: object
              properties:
                left:
                  type: number
                top:
                  type: number
                width:
                  type: number
                height:
                  type: number
              required:
                - left
                - top
                - width
                - height
              additionalProperties: true
              description: Where on the page, as fractions of its width and height.
            - type: 'null'
        created_at:
          type: string
          description: An ISO 8601 time in UTC.
        decided_at:
          anyOf:
            - type: string
              description: An ISO 8601 time in UTC.
            - type: 'null'
      required:
        - object
        - id
        - key
        - label
        - value
        - read_value
        - status
        - origin
        - entered_by
        - note
        - superseded
        - removed
        - document_id
        - page
        - box
        - created_at
        - decided_at
      additionalProperties: true
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - rate_limit_error
                - api_error
            code:
              type: string
            message:
              type: string
            param:
              anyOf:
                - type: string
                - type: 'null'
            request_id:
              type: string
          required:
            - type
            - code
            - message
            - param
            - request_id
          additionalProperties: true
      required:
        - error
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A firm API key, shown once when it is made, or a connected app’s OAuth
        access token. Each operation lists the scope it needs, such as
        clients:write.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.