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

# Create New Physical Document From Template

> Create a new document content based on a document template and store it in the document archive.

Tags are substituted according to the provided id's.  Use GetDocumentStream to obtain the created document. Since there is a potential for a name conflict (the file name stored by the document entity earlier may prove to be invalid), the (possibly amended) document entity is returned. The client should not assume that any earlier, cached entity information is valid.
NsApiSlow threshold: 2000 ms.



## OpenAPI

````yaml /openapi/agent/openapi-v3-DocumentAgent.json post /api/v1/Agents/Document/CreateNewPhysicalDocumentFromTemplate
openapi: 3.0.0
info:
  version: v1-Agents
  title: SuperOffice Agent API v1
  description: SuperOffice Agent API - DocumentAgent
  contact:
    name: SuperOffice DevNet
    url: https://docs.superoffice.com/en/api/index.html
    email: sdk@superoffice.com
servers:
  - url: http://localhost:56350
  - url: https://localhost:56350
security: []
tags: []
externalDocs:
  description: >-
    The SuperOffice DevNet Community has more documentation, examples, and
    discussion forums.
  url: https://community.superoffice.com/en/developer/
paths:
  /api/v1/Agents/Document/CreateNewPhysicalDocumentFromTemplate:
    post:
      tags:
        - Document_Agent
      summary: Create New Physical Document From Template
      description: "Create a new document content based on a document template and store it in the document archive.\n\nTags are substituted according to the provided id's.  Use GetDocumentStream to obtain the created document. Since there is a potential for a name conflict (the file name stored by the document entity earlier may prove to be invalid), the (possibly amended) document entity is returned. The client should not assume that any earlier, cached entity information is valid.\r\nNsApiSlow threshold: 2000 ms."
      operationId: v1DocumentAgent_CreateNewPhysicalDocumentFromTemplate
      parameters:
        - name: $select
          in: query
          description: >-
            Optional comma separated list of properties to include in the
            result. Other fields are then nulled out to reduce payload size:
            "Name,department,category". Default = show all fields.
          required: false
          schema:
            type: string
        - name: Accept-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code.
          required: false
          schema:
            type: string
        - name: SO-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code. Overrides Accept-Language value.
          required: false
          schema:
            type: string
        - name: SO-Culture
          in: header
          description: >-
            Number, date formatting in a specified culture (iso2 language) code.
            Partially overrides SO-Language/Accept-Language value. Ignored if no
            Language set.
          required: false
          schema:
            type: string
        - name: SO-TimeZone
          in: header
          description: >-
            Specify the timezone code that you would like date/time responses
            converted to.
          required: false
          schema:
            type: string
        - name: SO-AppToken
          in: header
          description: >-
            The application token that identifies the partner app. Used when
            calling Online WebAPI from a server.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          text/json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          application/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          text/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          application/x-www-form-urlencoded:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
          application/merge-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest
        description: >-
          ContactId, PersonId, AppointmentId, DocumentId, SaleId, SelectionId,
          ProjectId, UiCulture
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
            text/json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
            application/xml:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
            text/xml:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
            application/json-patch+json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
            application/merge-patch+json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentEntity'
      security:
        - SuperOffice_Password: []
          SuperId_Authentication: []
components:
  schemas:
    SuperOffice.WebApi.v1.Carriers.DocumentCarriers.CreateNewPhysicalDocumentFromTemplateRequest:
      description: >-
        CreateNewPhysicalDocumentFromTemplate: Create a new document content
        based on a document template and store it in the document archive.  Tags
        are substituted according to the provided id's.  Use GetDocumentStream
        to obtain the created document. Since there is a potential for a name
        conflict (the file name stored by the document entity earlier may prove
        to be invalid), the (possibly amended) document entity is returned. The
        client should not assume that any earlier, cached entity information is
        valid.
      type: object
      properties:
        ContactId:
          format: int32
          type: integer
        PersonId:
          format: int32
          type: integer
        AppointmentId:
          format: int32
          type: integer
        DocumentId:
          format: int32
          type: integer
        SaleId:
          format: int32
          type: integer
        SelectionId:
          format: int32
          type: integer
        ProjectId:
          format: int32
          type: integer
        UiCulture:
          type: string
    SuperOffice.CRM.Services.DocumentEntity:
      description: >-
        Partial DocumentEntity class associating the generated DocumentEntity
        with an interface.
      type: object
      properties:
        DocumentId:
          format: int32
          description: Primary key
          type: integer
        UpdatedBy:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Associate'
        CreatedBy:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Associate'
        Attention:
          description: Attention/salutation
          type: string
        Header:
          description: Visible document name
          type: string
        Name:
          description: File name
          type: string
        OurRef:
          description: Our reference, searchable field from freetext search
          type: string
        YourRef:
          description: Your reference
          type: string
        CreatedDate:
          format: date-time
          description: Registered when  in UTC.
          type: string
        UpdatedDate:
          format: date-time
          description: Last updated when  in UTC.
          type: string
        Description:
          description: >-
            The actual text, max 2047 significant characters even though it is
            stored as a larger data type on some databases
          type: string
        DocumentTemplate:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.DocumentTemplate'
        Person:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Person'
        Associate:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Associate'
        Contact:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Contact'
        Project:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Project'
        Date:
          format: date-time
          description: date + start time planned
          type: string
        ExternalRef:
          description: >-
            External reference for document plugin to resolve document identity
            (Notes ID, e-mail message ID, whatever)
          type: string
        Completed:
          description: Document Completed state. This is the part of the Status property.
          enum:
            - Unknown
            - NotStarted
            - Started
            - Completed
          type: string
        ActiveLinks:
          format: int32
          description: Number of active links to sale, document, appointment.
          type: integer
        Type:
          description: Is this a normal document or a mail-merge or report?
          enum:
            - Unknown
            - inDiary
            - inChecklist
            - Note
            - Document
            - SavedReport
            - BookingForDiary
            - BookingForChecklist
            - MergeDraft
            - MergeFinal
          type: string
        Links:
          description: List of all elements linked to the document.
          type: array
          items:
            $ref: '#/components/schemas/SuperOffice.CRM.Services.Link'
        LockSemantics:
          description: ''
          enum:
            - None
            - Locking
            - Versioning
          type: string
        Sale:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Sale'
        SuggestedDocumentId:
          format: int32
          description: >-
            Suggested guide item that this document is an instance of (Note: NOT
            valid for appointments, they have their own link)
          type: integer
        Snum:
          format: int32
          description: >-
            The sequence number allocated from refcount on used template when
            creating the document
          type: integer
        UserDefinedFields:
          description: "Deprecated: Use {SuperOffice.CRM.Services.DocumentEntity.CustomFields} instead.\r\nDictionary of user defined field data.\r\nThe key string is the ProgId of the UdefField, or if the ProgId is empty it is a string of the format \"SuperOffice:[UdefFieldIdentity]\", e.g. \"SuperOffice:1234\""
          type: object
          additionalProperties:
            type: string
        ExtraFields:
          description: "Deprecated: Use {SuperOffice.CRM.Services.DocumentEntity.CustomFields} instead.\r\nExtra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc."
          type: object
          additionalProperties:
            type: string
        CustomFields:
          description: "Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin.\r\nCustom fields combines user defined fields and extra fields into one bucket. \r\nThe individual {SuperOffice.CRM.Services.DocumentEntity.ExtraFields} and <see cref=\"P:SuperOffice.CRM.Services.DocumentEntity.UserDefinedFields\">UserDefinedFields</see> properties are deprecated in favor of this\r\ncombined collection."
          type: object
          additionalProperties:
            type: string
        PublishEventDate:
          format: date-time
          description: Publish event date
          type: string
        PublishTo:
          format: date-time
          description: Publication valid to (inclusive)
          type: string
        PublishFrom:
          format: date-time
          description: Publication valid from (inclusive)
          type: string
        IsPublished:
          description: Publication is published
          type: boolean
        VisibleFor:
          description: The set of users or groups the record is visible for
          type: array
          items:
            $ref: '#/components/schemas/SuperOffice.CRM.Services.VisibleFor'
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Associate:
      description: "Carrier object for Associate.\r\nServices for the Associate Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IAssociateAgent\">Associate Agent</see>."
      type: object
      properties:
        AssociateId:
          format: int32
          description: Primary key
          type: integer
        Name:
          description: Initials, also login name, possibly database user name
          type: string
        PersonId:
          format: int32
          description: "Owning person record \r\n<para>Use MDO List name \"person\" to get list items.</para>"
          type: integer
        Rank:
          format: int32
          description: Rank order
          type: integer
        Tooltip:
          description: Tooltip or other description
          type: string
        Type:
          description: >-
            User type - 1 = internal user, 2 = resource, 3 = external user, 4 =
            anonymous, 5 = system
          enum:
            - Unknown
            - InternalAssociate
            - ResourceAssociate
            - ExternalAssociate
            - AnonymousAssociate
            - SystemAssociate
          type: string
        GroupIdx:
          format: int32
          description: >-
            Primary group membership, see UserGroupLink for secondary
            memberships
          type: integer
        FullName:
          description: >-
            The associate's culture formatted fullname (firstname, middleName
            and lastname)
          type: string
        FormalName:
          description: >-
            The associate's culture formatted formalname (firstname, middleName
            and lastname, title, mrmrs)
          type: string
        Deleted:
          description: >-
            If true, the user is retired and should have no rights, not appear
            in lists, etc.
          type: boolean
        EjUserId:
          format: int32
          description: >-
            ID of the ej user record corresponding to this associate; 0 for
            associates that are not ej users
          type: integer
        UserName:
          description: User name
          type: string
        ExtraFields:
          description: "Deprecated: Use {SuperOffice.CRM.Services.Associate.CustomFields} instead.\r\nExtra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc."
          type: object
          additionalProperties:
            type: string
        CustomFields:
          description: "Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin.\r\nCustom fields combines user defined fields and extra fields into one bucket. \r\nThe individual {SuperOffice.CRM.Services.Associate.ExtraFields} and <see cref=\"!:UserDefinedFields\">UserDefinedFields</see> properties are deprecated in favor of this\r\ncombined collection."
          type: object
          additionalProperties:
            type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.DocumentTemplate:
      description: "The template a document is based on is stored in the SO_arc\\template folder on the server. This will return the name as displayed in the GUI, and not the physical document name, of the template the document object is based on.\r\n<para />\r\nCarrier object for DocumentTemplate.\r\nServices for the DocumentTemplate Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IListAgent\">List Agent</see>."
      type: object
      properties:
        DocumentTemplateId:
          format: int32
          description: Primary key
          type: integer
        Name:
          description: The list item
          type: string
        Tooltip:
          description: Tooltip or other description
          type: string
        SaveInDb:
          format: int32
          description: 1 = save document records in DB; otherwise not.
          type: integer
        Filename:
          description: Relative to TemplatePath
          type: string
        DefaultOref:
          description: Processed via tag substitution to give document reference
          type: string
        RecordType:
          description: >-
            1 = app, 2 = doc, 3 = email, 4 = fax, 5 = phone, 6 = todo - see
            EAppntRecordTypes
          enum:
            - Unknown
            - Appointment
            - Document
            - Email
            - Fax
            - Phone
            - Todo
            - MergeDraft
            - MergeFinal
            - SavedReport
          type: string
        Deleted:
          format: int32
          description: >-
            0 -> record is active 1 -> record is 'deleted' and should not be
            shown in lists
          type: integer
        Direction:
          description: 1 = incoming, 2 = outgoing, see EAppntDirection
          enum:
            - Unknown
            - Incoming
            - Outgoing
            - SaintAll
          type: string
        AutoeventId:
          format: int32
          description: >-
            Which document plugin is responsible for the documents generated
            from this template
          type: integer
        QuoteDocType:
          description: What type of quote document is this.
          enum:
            - None
            - MailBody
            - MainDocument
            - QuoteLines
            - ConfirmationMailBody
            - ConfirmationLines
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Person:
      description: "Carrier object for Person.\r\nServices for the Person Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IPersonAgent\">Person Agent</see>."
      type: object
      properties:
        Position:
          description: >-
            The position. This is a predefined SuperOffice value, different from
            Title
          type: string
        PersonId:
          format: int32
          description: Primary key
          type: integer
        Mrmrs:
          description: e.g. Mrs   sex_title
          type: string
        Firstname:
          description: First name
          type: string
        Lastname:
          description: Last name
          type: string
        MiddleName:
          description: Middle name or 'van' etc.
          type: string
        Title:
          description: Title
          type: string
        Description:
          description: Info text/description on person.
          type: string
        Email:
          description: First email on contact person.
          type: string
        FullName:
          description: >-
            Get the persons full name (internal name used in clients for
            employees).
          type: string
        DirectPhone:
          description: Returns the direct phone that belong to the contact person.
          type: string
        FormalName:
          description: >-
            Get formal name for a person, as used in labels. (Full name + person
            title + academic title)
          type: string
        CountryId:
          format: int32
          description: Country
          type: integer
        ContactId:
          format: int32
          description: Owning contact ID
          type: integer
        ContactName:
          description: The persons company name
          type: string
        Retired:
          format: int32
          description: >-
            1 = the user is retired and should have no rights, not appear in
            lists, etc.
          type: integer
        Rank:
          format: int32
          description: Display sort sequence for default sort order
          type: integer
        ActiveInterests:
          format: int32
          description: >-
            Number of records in pintr table; select count(*) from pintr pi
            where pi.person_id = this.person_id == activeInterests is always
            true
          type: integer
        ContactDepartment:
          description: The persons contact department
          type: string
        ContactCountryId:
          format: int32
          description: The persons contact country id
          type: integer
        ContactOrgNr:
          description: The persons contact organization number
          type: string
        FaxPhone:
          description: Returns the fax phone that belong to the contact person.
          type: string
        MobilePhone:
          description: Returns the mobile phone that belong to the contact person.
          type: string
        ContactPhone:
          description: Returns the direct phone that belong to the persons contact.
          type: string
        AssociateName:
          description: Name of the person's owner
          type: string
        AssociateId:
          format: int32
          description: Id of the item's owner (Associate id)
          type: integer
        UsePersonAddress:
          description: If 1, use person's address for mailing instead of company address
          type: boolean
        ContactFax:
          description: Actual phone number as eneterd by the user
          type: string
        Kanafname:
          description: Kana first name, used in Japanese versions only
          type: string
        Kanalname:
          description: Kana last name, used in Japanese versions only
          type: string
        Post1:
          description: Postal address, used in Japanese versions only
          type: string
        Post2:
          description: Postal address, used in Japanese versions only
          type: string
        Post3:
          description: Postal address, used in Japanese versions only
          type: string
        EmailName:
          description: E-mail description
          type: string
        ContactFullName:
          description: Company full name + department
          type: string
        ActiveErpLinks:
          format: int32
          description: How many active ERP links are there for this person?
          type: integer
        TicketPriorityId:
          format: int32
          description: Ticket priority ID
          type: integer
        SupportLanguageId:
          format: int32
          description: Support priority ID
          type: integer
        SupportAssociateId:
          format: int32
          description: Our support contact for this person
          type: integer
        CategoryName:
          description: The category list item name
          type: string
        PersonNumber:
          description: Alphanumeric user field
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Contact:
      description: "Carrier object for Contact.\r\nServices for the Contact Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IContactAgent\">Contact Agent</see>."
      type: object
      properties:
        ContactId:
          format: int32
          description: Primary key
          type: integer
        Name:
          description: Contact name
          type: string
        OrgNr:
          description: VAT number or similar
          type: string
        Department:
          description: Department
          type: string
        URL:
          description: The internet address to this contact
          type: string
        City:
          description: City corresponding to zip code
          type: string
        DirectPhone:
          description: The contacts phone
          type: string
        AssociateId:
          format: int32
          description: Our contact
          type: integer
        CountryId:
          format: int32
          description: Country
          type: integer
        EmailAddress:
          description: The contact email address
          type: string
        Kananame:
          description: Contact kana name, used in Japanese versions only
          type: string
        EmailAddressName:
          description: Visible field
          type: string
        URLName:
          description: Visible field
          type: string
        AssociateFullName:
          description: >-
            The associate's culture formatted fullname (firstname, middleName
            and lastname)
          type: string
        BusinessName:
          description: The business list item name
          type: string
        CategoryName:
          description: The category list item name
          type: string
        CountryName:
          description: Name of country in installed language
          type: string
        Address:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.Address'
        FormattedAddress:
          description: >-
            The contact's address, formatted with linebreaks and spaces into a
            single string.
          type: string
        FullName:
          description: ''
          type: string
        IsOwnerContact:
          description: >-
            Is the contact an owner contact.  This means that all persons on
            this contact can on only be internal users and not external users.
          type: boolean
        ActiveErpLinks:
          format: int32
          description: The number of active erp links
          type: integer
        Number1:
          description: Alphanumeric user field
          type: string
        Number2:
          description: Alphanumeric user field
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Project:
      description: "Carrier object for Project.\r\nServices for the Project Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IProjectAgent\">Project Agent</see>."
      type: object
      properties:
        ProjectId:
          format: int32
          description: Primary key
          type: integer
        Name:
          description: Project name
          type: string
        Description:
          description: The projects description
          type: string
        URL:
          description: URL address
          type: string
        Type:
          description: The project type.
          type: string
        AssociateId:
          format: int32
          description: The project owner id (associate id)
          type: integer
        AssociateFullName:
          description: The project owner
          type: string
        TypeId:
          format: int32
          description: ''
          type: integer
        Updated:
          format: date-time
          description: Last updated date  in UTC.
          type: string
        StatusId:
          format: int32
          description: The projects status id
          type: integer
        Status:
          description: The projects status
          type: string
        TextId:
          format: int32
          description: The id of the description
          type: integer
        PublishTo:
          format: date-time
          description: Publication valid to (inclusive)
          type: string
        PublishFrom:
          format: date-time
          description: Publication valid from (inclusive)
          type: string
        IsPublished:
          description: ''
          type: boolean
        URLName:
          description: Visible field
          type: string
        ProjectNumber:
          description: Automatically generated number
          type: string
        ActiveErpLinks:
          format: int32
          description: The number of active erp links
          type: integer
        EventId:
          format: int32
          description: Reserved field for Lyyti event when project is linked to an event.
          type: integer
        StartDate:
          format: date-time
          description: >-
            Reserved field for Lyyti event when project is linked to an event,
            is the event start date.
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Link:
      description: "Links two entities (contacts/projects/sales/URLs) together.\r\n<para />\r\nCarrier object for Link.\r\nServices for the Link Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IListAgent\">List Agent</see>."
      type: object
      properties:
        EntityName:
          description: >-
            Name of the entity the link points to (The destination/target
            entity)
          type: string
        Id:
          format: int32
          description: >-
            Id of the entity the link points to (The destination/target entity
            primary key)
          type: integer
        Description:
          description: Link description.
          type: string
        ExtraInfo:
          description: >-
            Extrainfo for link. Use for information that does not have a primary
            key
          type: string
        LinkId:
          format: int32
          description: Primary key
          type: integer
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.Sale:
      description: "Carrier object for Sale.\r\nServices for the Sale Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ISaleAgent\">Sale Agent</see>."
      type: object
      properties:
        ContactName:
          description: Contact name
          type: string
        SaleDate:
          format: date-time
          description: (expected / lost / won) sales date
          type: string
        SaleId:
          format: int32
          description: Primary key
          type: integer
        Probability:
          format: int32
          description: Actual probability, may differ from the one in the list
          type: integer
        Title:
          description: Sale heading (short description?)
          type: string
        Amount:
          format: double
          description: Total sale amount
          type: number
        Currency:
          description: Currency the sale was made in.
          type: string
        ProjectName:
          description: Project name
          type: string
        AssociateFullName:
          description: The sale's owner
          type: string
        Description:
          description: The sales description
          type: string
        Status:
          description: The sale's status, indicating wether the sale is open, sold or lost.
          enum:
            - Unknown
            - Open
            - Sold
            - Lost
            - Stalled
            - SaintAll
          type: string
        WeightedAmount:
          format: double
          description: The weighted amount ( amount *  probability / 100)
          type: number
        ProjectId:
          format: int32
          description: Optional project reference
          type: integer
        EarningPercent:
          format: double
          description: Earning as percent of total
          type: number
        Earning:
          format: double
          description: Earning on sale
          type: number
        ContactId:
          format: int32
          description: Optional contact reference
          type: integer
        AssociateId:
          format: int32
          description: The sale's owner id
          type: integer
        PersonId:
          format: int32
          description: The sale's contact persons id
          type: integer
        SaleTypeId:
          format: int32
          description: The sale's type id
          type: integer
        SaleTypeName:
          description: The sale's type name
          type: string
        PersonFullName:
          description: The name of the person this sale belongs to.
          type: string
        Completed:
          description: >-
            The Sale completed state. The completed state is either Started or
            Completed. NotStarted is treated as Started. The value maps to the
            Done database field.
          enum:
            - Unknown
            - NotStarted
            - Started
            - Completed
          type: string
        ActiveErpLinks:
          format: int32
          description: The number of active erp links
          type: integer
        NextDueDate:
          format: date-time
          description: >-
            Next due date, this is a denormalization of 'closest future activity
            date, or most recent if no future activities'. Maintained by the
            system, but very convenient for searching.
          type: string
        Number:
          description: Alphanumeric user field
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.VisibleFor:
      description: "Carrier object for VisibleFor.\r\nServices for the VisibleFor Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ISentryAgent\">Sentry Agent</see>."
      type: object
      properties:
        VisibleId:
          format: int32
          description: ''
          type: integer
        Visibility:
          description: ''
          enum:
            - All
            - Associate
            - Group
          type: string
        DisplayValue:
          description: ''
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Security.TableRight:
      description: "Wraps a table right together with an explanatory reason.\r\nCode can indicate why access is restricted."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string
    SuperOffice.CRM.Security.FieldProperty:
      description: >-
        Class holding properties like field length, field type about a field in
        the carrier.
      type: object
      properties:
        FieldRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldRight'
        FieldType:
          type: string
        FieldLength:
          format: int32
          description: ''
          type: integer
    SuperOffice.CRM.Services.Address:
      description: "Street and/or Postal address, in both formatted and structured forms. You only need to modify one of the two for the change to be registered.\r\n<para />\r\nCarrier object for Address."
      type: object
      properties:
        Wgs84Latitude:
          format: double
          description: >-
            Latitude (that's north/south), decimal degrees, relative to WGS 84
            ellipsoid. SuperOffice ASA is at 59.91892. This value needs no
            further grid reference or other qualifying information.
          type: number
        Wgs84Longitude:
          format: double
          description: >-
            Longitude (that's East/west), decimal degrees, relative to WGS 84
            ellipsoid. SuperOffice ASA is at 10.73159. This value needs no
            further grid reference or other qualifying information.
          type: number
        LocalizedAddress:
          description: >-
            LocalizedFieldArray is a list of LocalizedFieldList objects. Used to
            store localized information such as formatted address data.
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/SuperOffice.CRM.Services.LocalizedField'
        Street:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.StructuredAddress'
        Postal:
          $ref: '#/components/schemas/SuperOffice.CRM.Services.StructuredAddress'
        Formatted:
          description: >-
            Read-only formatted address multi-line string. Combines street and
            postal into one string. e.g.: <c>"Postboks 123,\nBrugata 123,\n1234
            OSLO\n"</c> or <c>"Postbox 123,\nBridgelane 123,\nWest
            Tooting,\nEast Shire ES2 W31\n"</c>.
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Security.FieldRight:
      description: "Wraps the field right together with an explanatory reason.\r\nAlso adds logical operators to the field rights so that they can be easily combined."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string
    SuperOffice.CRM.Services.LocalizedField:
      description: "LocalizedField is used to store localized information such as formatted address data, a formatted phone number, etc.\r\n<para />\r\nCarrier object for LocalizedField."
      type: object
      properties:
        Name:
          description: Name of the value field
          type: string
        Value:
          description: The field's value
          type: string
        Tooltip:
          description: The tooltip
          type: string
        Label:
          description: The label of the field
          type: string
        ValueLength:
          format: int32
          description: Database length of the value
          type: integer
        AddressType:
          description: ''
          type: string
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.StructuredAddress:
      description: "Address with structured fields (Address1, City, Zip) - does not vary its layout by country, unliked the formatted address.\r\n<para />\r\nCarrier object for StructuredAddress."
      type: object
      properties:
        AtypeIdx:
          description: >-
            Bit mask, combines address type (EAddressType) and owner type
            (EOwnerType)
          enum:
            - Unknown
            - ContactPostalAddress
            - ContactStreetAddress
            - PersonPrivateAddress
            - QuoteBillingAddress
            - QuoteShippingAddress
          type: string
        Address1:
          description: Address line 1
          type: string
        Address2:
          description: Address line 2
          type: string
        Address3:
          description: Address line 3
          type: string
        City:
          description: City corresponding to zip code
          type: string
        County:
          description: County (not country)
          type: string
        State:
          description: State
          type: string
        Zipcode:
          description: Zip code, alphanumeric
          type: string
        Formatted:
          description: >-
            Read-only formatted address multi-line string. e.g.: <c>"Brugata
            123,\n1234 OSLO\n"</c> or <c>"Bridgelane 123,\nWest Tooting,\nThe
            Shire ES2 W31\n"</c>.
          type: string

````

## Related topics

- [Create New Physical Document From Template With Custom Tags2](/en/api/reference/restful/rest/document/create-new-physical-document-from-template-with-custom-tags2.md)
- [Create New Physical Document From Template With Custom Tags](/en/api/reference/restful/agent/document_agent/create-new-physical-document-from-template-with-custom-tags.md)
- [Document templates](/en/automation/crmscript/howto/document/templates.md)
- [SuperOffice.WebApi.Data.Document CreateNewPhysicalDocumentFromTemplateRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Document_CreateNewPhysicalDocumentFromTemplateRequest.md)
- [SuperOffice.WebApi.Data.Document CreateNewPhysicalDocumentFromTemplateWithCustomTags2Request](/en/api/reference/webapi/SuperOffice.WebApi.Data.Document_CreateNewPhysicalDocumentFromTemplateWithCustomTags2Request.md)
