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

# Get your account

> Your account is the customer every other resource on this API belongs to: `/organisations` are the organisations it owns, `/users` the people who can sign in to it, and `/api-tokens` the credentials it holds. It is a singleton because the account always comes from your credentials, so there is no `customerId` to pass anywhere on this API.

`owner` names the account's one owner: the person whose access cannot be revoked from inside the account, the only one who can transfer that standing, and the only one who can remove people. Null on an account that has not been assigned an owner yet; Flow Payroll support sets it.

`billingStatus` is `Billable` or `AwaitingSetup`. While awaiting setup, creating organisations and API tokens answers 403 `billing_not_set_up`; everything the account already has stays manageable.

404 means the signed-in identity is not linked to an account yet. That is a provisioning step for Flow Payroll support, not something a retry can fix.



## OpenAPI

````yaml /api-reference/specs/administration.json get /customer
openapi: 3.0.1
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: list them with headcounts and your
      access to each, get one in full, and add one or several at a time.
  - 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: 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: Activity
    description: Recent administration actions in your account, newest first.
paths:
  /customer:
    get:
      tags:
        - Customer
      summary: Get your account
      description: >-
        Your account is the customer every other resource on this API belongs
        to: `/organisations` are the organisations it owns, `/users` the people
        who can sign in to it, and `/api-tokens` the credentials it holds. It is
        a singleton because the account always comes from your credentials, so
        there is no `customerId` to pass anywhere on this API.


        `owner` names the account's one owner: the person whose access cannot be
        revoked from inside the account, the only one who can transfer that
        standing, and the only one who can remove people. Null on an account
        that has not been assigned an owner yet; Flow Payroll support sets it.


        `billingStatus` is `Billable` or `AwaitingSetup`. While awaiting setup,
        creating organisations and API tokens answers 403 `billing_not_set_up`;
        everything the account already has stays manageable.


        404 means the signed-in identity is not linked to an account yet. That
        is a provisioning step for Flow Payroll support, not something a retry
        can fix.
      operationId: GetCustomer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerResponseResponseBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
components:
  schemas:
    CustomerResponseResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/CustomerResponseContentResponse'
        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
    CustomerResponseContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CustomerResponse'
        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:
          nullable: true
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
        value:
          nullable: true
      additionalProperties: false
    CustomerResponse:
      type: object
      properties:
        customerId:
          type: string
          description: >-
            Your account's identifier. Informational only: it is never a
            parameter anywhere on this API.
        displayName:
          type: string
          description: The name shown across the administration screens and in invitations.
        owner:
          $ref: '#/components/schemas/CustomerOwnerResponse'
        billingStatus:
          enum:
            - Billable
            - AwaitingSetup
          type: string
          description: >-
            `Billable` or `AwaitingSetup`. While awaiting setup, creating
            organisations and API
                        tokens answers 403 `billing_not_set_up`; everything the account already has stays manageable.
        signIn:
          $ref: '#/components/schemas/CustomerSignInResponse'
      additionalProperties: false
      description: 'Your account: the customer every resource on this API belongs to.'
    ContentMetadataResponse:
      type: object
      properties:
        dateFormat:
          type: string
        dateTimeFormat:
          type: string
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    CustomerOwnerResponse:
      type: object
      properties:
        principalId:
          type: string
          description: >-
            The owner's identifier, as used on the `/users/{principalId}`
            routes.
        email:
          type: string
          description: The address they sign in with.
          nullable: true
        displayName:
          type: string
          description: Their name, for display next to the id.
          nullable: true
      additionalProperties: false
      description: Who owns the account.
    CustomerSignInResponse:
      type: object
      properties:
        providers:
          type: array
          items:
            type: string
          description: >-
            The identity providers new people are linked to when invited, by
            name. Empty when everybody

            signs in with a password.
        passwordSignIn:
          type: string
          description: >-
            Whether a person may have a password as well. `Allowed`: everybody
            gets one, and the

            invitation is emailed as usual. `OnRequest`: only when the
            invitation asks with

            `signIn: Password`, say for a bureau outside your identity provider.
            `Denied`: never;

            people are created without an invitation email and sign in through
            the provider alone.
      additionalProperties: false
      description: How an account signs its people in.
  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.