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

# Add up the organisations you can see

> Needs permission organisation:read.

Every organisation `GET /organisations` lists for you (your account's own, the ones it manages, then the ones you reach as a guest), each counted once: how many there are, their employees (on the books, active and left, by the payroll's own leaver rule today), the payroll they ran over a period (issued payslips paid in it: organisations paid, payslips, employees paid, gross, net and employer cost) and the 8 with the most active employees.

`from` and `to` (yyyy-MM-dd) name the period, at most a year; leave both out for this calendar month (400 `invalid_summary_period` otherwise). `employees` and `payroll` are left out, never answered as zero, when they cannot be read right now, and `largestOrganisations` is then empty. 503 `organisation_list_unavailable` when the organisations themselves cannot be listed, as on `GET /organisations`.



## OpenAPI

````yaml /api-reference/specs/administration.json get /organisations/summary
openapi: 3.0.4
info:
  title: Administration API
  description: >-
    Manage your Flow Payroll account: the organisations it owns, the people who
    can sign in to it, the API tokens it holds, its brand, and a feed of recent
    administration activity. Every resource is scoped to the account your
    credentials belong to, so no request ever names a customer and the
    `X-Org-Id` header is not used.
  version: v1
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1/administration
security:
  - X-Auth-Token: []
tags:
  - name: Customer
    description: >-
      Your account: the customer every other resource on this API belongs to.
      Read it and rename it.
  - name: Organisations
    description: >-
      The organisations your account owns or manages: list them with headcounts
      and your access to each, get one in full, add one or several at a time,
      see everybody who can reach one, and read which of its data an outside
      system manages.
  - name: Organisation groups
    description: >-
      Named sets of your organisations, such as the clients one team looks
      after. Give a person or API token a group, and they reach every
      organisation in it, including ones added later.
  - name: Users
    description: >-
      The people who can sign in to your account: list, invite (one or many),
      resend invitations, and manage each person's direct grants and
      account-wide access.
  - name: Roles
    description: >-
      What people and API tokens can do where they have access: the built-in
      roles, roles of your own, and the default role. Only Administrator can be
      given today.
  - name: API tokens
    description: >-
      The client credentials your integrations authenticate with: create (the
      secret is shown once), rename, rotate, revoke, and manage which
      organisations each token reaches.
  - name: Branding
    description: >-
      Your white-label brand: edit a draft, publish it, upload its files, and
      set a company logo for each organisation.
  - name: Activity
    description: >-
      Recent administration actions in your account, and every change to who has
      access, newest first.
  - name: SCIM
    description: >-
      SCIM 2.0 provisioning: your identity provider adds, updates, suspends and
      removes your account's people, and gives them account-wide roles.
paths:
  /organisations/summary:
    get:
      tags:
        - Organisations
      summary: Add up the organisations you can see
      description: >-
        Needs permission organisation:read.


        Every organisation `GET /organisations` lists for you (your account's
        own, the ones it manages, then the ones you reach as a guest), each
        counted once: how many there are, their employees (on the books, active
        and left, by the payroll's own leaver rule today), the payroll they ran
        over a period (issued payslips paid in it: organisations paid, payslips,
        employees paid, gross, net and employer cost) and the 8 with the most
        active employees.


        `from` and `to` (yyyy-MM-dd) name the period, at most a year; leave both
        out for this calendar month (400 `invalid_summary_period` otherwise).
        `employees` and `payroll` are left out, never answered as zero, when
        they cannot be read right now, and `largestOrganisations` is then empty.
        503 `organisation_list_unavailable` when the organisations themselves
        cannot be listed, as on `GET /organisations`.
      operationId: GetOrganisationsSummary
      parameters:
        - name: from
          in: query
          schema:
            type: string
        - name: to
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationsSummaryResponseResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
components:
  schemas:
    OrganisationsSummaryResponseResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/OrganisationsSummaryResponseContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    ObjectResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/ObjectContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    MessageWithTokenResponse:
      type: object
      properties:
        text:
          type: string
        token:
          type: string
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    OrganisationsSummaryResponseContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/OrganisationsSummaryResponse'
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssue:
      type: object
      properties:
        field:
          type: string
        reason:
          type: string
        reasonToken:
          type: string
        reasonTokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    ObjectContentResponse:
      type: object
      properties:
        data: {}
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
        value: {}
      additionalProperties: false
    OrganisationsSummaryResponse:
      type: object
      properties:
        organisationCount:
          type: integer
          description: How many organisations.
          format: int32
        employees:
          $ref: '#/components/schemas/EmployeeCountsResponse'
        payroll:
          $ref: '#/components/schemas/PayrollActivityResponse'
        largestOrganisations:
          type: array
          items:
            $ref: '#/components/schemas/LargestOrganisationResponse'
          description: >-
            Up to 8, most active employees first; empty without the employee
            figures.
      additionalProperties: false
      description: >-
        Every organisation you can see, in total: the ones `GET /organisations`
        lists (your account's own, the ones it

        manages, then guests), each counted once.
    ContentMetadataResponse:
      type: object
      properties:
        dateFormat:
          type: string
        dateTimeFormat:
          type: string
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    EmployeeCountsResponse:
      type: object
      properties:
        totalEmployeeCount:
          type: integer
          description: On the books, whether or not they have left.
          format: int32
        activeEmployeeCount:
          type: integer
          description: On the books and not left.
          format: int32
        leaverEmployeeCount:
          type: integer
          description: On the books and left.
          format: int32
      additionalProperties: false
      description: >-
        Headcounts for an organisation today. They trail the payroll by seconds:
        a headline figure, never one to

        file or pay on.
    PayrollActivityResponse:
      type: object
      properties:
        from:
          type: string
          description: The period's first day, yyyy-MM-dd.
        to:
          type: string
          description: The period's last day, yyyy-MM-dd.
        organisationsPaid:
          type: integer
          description: Organisations with at least one issued payslip paid in the period.
          format: int64
        payslips:
          type: integer
          description: Issued payslips paid in the period.
          format: int64
        employeesPaid:
          type: integer
          description: Employees with gross or net pay on at least one of them.
          format: int64
        gross:
          type: number
          description: Their gross pay.
          format: double
        net:
          type: number
          description: Their net pay.
          format: double
        employerCost:
          type: number
          description: What they cost the employers in all.
          format: double
      additionalProperties: false
      description: Payroll run across the organisations you can see, over a period.
    LargestOrganisationResponse:
      type: object
      properties:
        organisationId:
          type: string
          description: The organisation's identifier.
        name:
          type: string
          description: The trading name, else the legal name, else the identifier.
        activeEmployeeCount:
          type: integer
          description: Employees on the books and not left.
          format: int32
      additionalProperties: false
      description: One of the organisations with the most employees.
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      description: FlowPayroll JWT (raw token, no Bearer prefix)
      name: X-Auth-Token
      in: header

````

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