> ## 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.

# Get Project Member Appointments By Task Heading

> Method that returns a specified number of appointments of a specific appointment task heading within a time range.

The appointments belong to the projects where the person specified is member. Task represents the different types of activities, like “Phone call”, “Meeting” and so on. The heading represents a grouping or filtering of tasks.
NsApiSlow threshold: 2000 ms.



## OpenAPI

````yaml /openapi/agent/openapi-v3-AppointmentAgent.json post /api/v1/Agents/Appointment/GetProjectMemberAppointmentsByTaskHeading
openapi: 3.0.0
info:
  version: v1-Agents
  title: SuperOffice Agent API v1
  description: SuperOffice Agent API - AppointmentAgent
  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/Appointment/GetProjectMemberAppointmentsByTaskHeading:
    post:
      tags:
        - Appointment_Agent
      summary: Get Project Member Appointments By Task Heading
      description: "Method that returns a specified number of appointments of a specific appointment task heading within a time range.\n\nThe appointments belong to the projects where the person specified is member. Task represents the different types of activities, like “Phone call”, “Meeting” and so on. The heading represents a grouping or filtering of tasks.\r\nNsApiSlow threshold: 2000 ms."
      operationId: v1AppointmentAgent_GetProjectMemberAppointmentsByTaskHeading
      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.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          text/json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          application/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          text/xml:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          application/x-www-form-urlencoded:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
          application/merge-patch+json:
            schema:
              $ref: >-
                #/components/schemas/SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest
        description: PersonId, StartTime, EndTime, Count, TaskHeadingId
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
            text/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
            application/json-patch+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
            application/merge-patch+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuperOffice.CRM.Services.Appointment'
      security:
        - SuperOffice_Password: []
          SuperId_Authentication: []
components:
  schemas:
    SuperOffice.WebApi.v1.Carriers.AppointmentCarriers.GetProjectMemberAppointmentsByTaskHeadingRequest:
      description: >-
        GetProjectMemberAppointmentsByTaskHeading: Method that returns a
        specified number of appointments of a specific appointment task heading
        within a time range. The appointments belong to the projects where the
        person specified is member. Task represents the different types of
        activities, like “Phone call”, “Meeting” and so on. The heading
        represents a grouping or filtering of tasks.
      type: object
      properties:
        PersonId:
          format: int32
          type: integer
        StartTime:
          format: date-time
          type: string
        EndTime:
          format: date-time
          type: string
        Count:
          format: int32
          type: integer
        TaskHeadingId:
          format: int32
          type: integer
    SuperOffice.CRM.Services.Appointment:
      description: "Simple read-only appointment data.\r\n<para />\r\nCarrier object for Appointment.\r\nServices for the Appointment Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.IAppointmentAgent\">Appointment Agent</see>."
      type: object
      properties:
        AppointmentId:
          format: int32
          description: Primary key
          type: integer
        StartDate:
          format: date-time
          description: date + start time planned
          type: string
        EndDate:
          format: date-time
          description: Date + end time planned
          type: string
        Type:
          description: >-
            The different types of appointment, if the appointment is supposed
            to be shown in the diary or checklist, or if it's a document. See
            the different types of appointments in the database manual.
          enum:
            - Unknown
            - inDiary
            - inChecklist
            - Note
            - Document
            - SavedReport
            - BookingForDiary
            - BookingForChecklist
            - MergeDraft
            - MergeFinal
          type: string
        Task:
          description: >-
            Task comprises the different types of activities, like “Phone call”,
            “Meeting” and so on.
          type: string
        AssociateFullName:
          description: >-
            The owner of the appointment - the associate whose diary/checklist
            the appointment is in.
          type: string
        ContactName:
          description: The contact associated with the appointment.
          type: string
        Description:
          description: >-
            The appointment's textbox; holds a descriptive text about the
            appointment. Filled out by the user.
          type: string
        PersonFullName:
          description: The full name of the person this appointment belongs to.
          type: string
        PersonId:
          format: int32
          description: Person ID of person the appointment is with, may be 0
          type: integer
        ContactId:
          format: int32
          description: Contact ID of owning contact, may be 0
          type: integer
        ProjectId:
          format: int32
          description: ID of project referred to, may be 0
          type: integer
        ProjectName:
          description: >-
            The name of the project this appointment belong to. Blank if no
            project is connected.
          type: string
        IsPublished:
          description: True if appointment have an entry in published table
          type: boolean
        AssociateId:
          format: int32
          description: ID of associate whose diary the appointment is in, REQUIRED
          type: integer
        ColorIndex:
          format: int32
          description: >-
            Appointment colour, used only in Japanese versions. Western versions
            take colour from Task
          type: integer
        IsFree:
          description: True if free, false if busy
          type: boolean
        HasAlarm:
          description: Does this appointment have an alarm
          type: boolean
        IsAlldayEvent:
          description: True if all day event
          type: boolean
        Private:
          description: >-
            Obsolete, but still maintained field for appointment privacy;
            denormalization of visiblefor status
          enum:
            - Public
            - PrivateUser
            - PrivateGroup
          type: string
        PriorityId:
          format: int32
          description: Link to priority list
          type: integer
        PriorityName:
          description: Name of the appointments priority
          type: string
        TaskType:
          description: >-
            The different task types of the appointment, if the activity is an
            appointment, task, phone. See the different types of appointments in
            the database manual.
          enum:
            - Unknown
            - Appointment
            - Document
            - Email
            - Fax
            - Phone
            - ToDo
            - MailMergeDraft
            - MailMergeFinal
            - Report
            - SaintAll
          type: string
        IsBookingMain:
          description: >-
            True if this appointment is a booking and current associate is the
            owner. False if it is a booking and current associate is a
            participant.
          type: boolean
        IsRecurrence:
          description: True if the appointment is part of a recurring pattern.
          type: boolean
        IsBooking:
          description: True if this appointment is a booking.
          type: boolean
        ActiveDate:
          format: date-time
          description: The date to be used for searching & showing
          type: string
        AssignmentStatus:
          description: >-
            Status if this appointment is in the process of being assigned to
            someone else
          enum:
            - Unknown
            - None
            - Assigning
            - Seen
            - Declined
          type: string
        InvitationStatus:
          description: Status if this appointment represents an invitation
          enum:
            - Unknown
            - None
            - Accepted
            - Hidden
            - Invitation
            - Moved
            - Seen
            - MovedSeen
            - Declined
            - Cancelled
          type: string
        BookingType:
          description: The type of booking the appointment represents
          enum:
            - Unknown
            - None
            - Owner
            - Participant
          type: string
        Completed:
          description: The Completed state.
          enum:
            - Unknown
            - NotStarted
            - Started
            - Completed
          type: string
        RecurringPattern:
          description: ''
          enum:
            - Unknown
            - Daily
            - Weekly
            - Monthly
            - Yearly
            - Custom
          type: string
        RecurringStartDate:
          format: date-time
          description: ''
          type: string
        RecurringEndDate:
          format: date-time
          description: ''
          type: string
        MotherId:
          format: int32
          description: >-
            ID of mother appointment; self if booking master, master ID if
            booking slave, 0 if normal appointment. However, if 0 and assoc_id
            != reg_id then this is an assigned appointment, indicated vt type =
            kBooking
          type: integer
        AssignedBy:
          format: int32
          description: Who (last) assigned this appointment to associate_id?
          type: integer
        AssignedByFullName:
          description: >-
            The associate's culture formatted fullname (firstname, middleName
            and lastname)
          type: string
        RejectReason:
          description: >-
            Why was this booking or assignment rejected, the RejectReason list
            is a source of suggestions but you can write anything here
          type: string
        Location:
          description: >-
            Location for appointment, defaulted from invited resource of type
            place and other rules, but you can write anything you want here
          type: string
        AlarmLeadTime:
          description: Alarm lead time.
          type: string
        SaleId:
          format: int32
          description: Owning sale, if any (may be 0)
          type: integer
        SaleName:
          description: Heading of Owning sale, if any. (may be blank)
          type: string
        AssociateName:
          description: The associate's name
          type: string
        CreatedDate:
          format: date-time
          description: Appointment creation date
          type: string
        CreatedBy:
          description: Who created the appointment. Associate name.
          type: string
        CreatedByFullName:
          description: Who created the appointment. Full name.
          type: string
        CreatedByAssociateId:
          format: int32
          description: Id of the associate that created the appointment
          type: integer
        CautionWarning:
          description: Status field to indicate appointments that have some sort of problem
          enum:
            - OK
            - NotInSync
            - NotNotifiedByEmail
            - RecurrencePatternNotSupported
            - IncomingRecurrenceChangeNotSupported
            - ExternalParticipantsDateTimeMismatch
          type: string
        OwnedExternally:
          description: Set if an external system owns this appointment.
          enum:
            - None
            - Other
            - Outlook
            - Google
          type: string
        MotherAssociateId:
          format: int32
          description: Associate/owner of the mother appointment
          type: integer
        JoinVideomeetUrl:
          description: >-
            Blank when not a video meeting. Filled with Join Meeting URL when
            created.
          type: string
        PreferredTZLocation:
          format: int32
          description: >-
            Preferred timezone location to use when displaying/editing this
            appointment
          type: integer
        Title:
          description: The title of the appointment.
          type: string
        Agenda:
          description: The agenda of the appointment.
          type: string
        InternalNotes:
          description: Internal notes for the appointment.
          type: string
        TaskId:
          format: int32
          description: Link to task list
          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.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.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

````

## Related topics

- [SuperOffice.WebApi.Data.Appointment GetProjectMemberAppointmentsByTaskHeadingRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Appointment_GetProjectMemberAppointmentsByTaskHeadingRequest.md)
- [NSAppointmentAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSAppointmentAgent.md)
- [SuperOffice.WebApi.Agents.AppointmentAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.AppointmentAgent.md)
- [SuperOffice.WebApi.Agents.IAppointmentAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.IAppointmentAgent.md)
- [Get Project Appointments By Task Heading](/en/api/reference/restful/agent/appointment_agent/get-project-appointments-by-task-heading.md)
- [Get Project Member Documents By Template Heading](/en/api/reference/restful/agent/document_agent/get-project-member-documents-by-template-heading.md)
