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

# Create Service Account

> Create a new service account for your organization and optionally add it to one or more projects in your organization



## OpenAPI

````yaml openapi/service-accounts.openapi.yaml POST /organizations/{organizationId}/service-accounts
openapi: 3.0.2
info:
  title: Service Accounts API
  description: Endpoints for managing service accounts programmatically.
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
  contact:
    url: https://mixpanel.com/get-support
servers:
  - url: https://{regionAndDomain}.com/api/app
    description: Mixpanel's application API server.
    variables:
      regionAndDomain:
        default: mixpanel
        enum:
          - mixpanel
          - eu.mixpanel
          - in.mixpanel
        description: |
          The server location to be used:
            * `mixpanel` - The default (US) servers used for most projects
            * `eu.mixpanel` - EU servers if you are enrolled in EU Data Residency
            * `in.mixpanel` - India servers if you are enrolled in India Data Residency
security:
  - ServiceAccount: []
tags:
  - name: Create Service Accounts
    description: Operations to add service accounts to an organization
  - name: Delete Service Accounts
    description: Remove a service account from an organization
  - name: Project Membership
    description: Add/remove service accounts to/from projects
  - name: Retrieve Service Accounts
    description: Get details about an organization's service account
paths:
  /organizations/{organizationId}/service-accounts:
    parameters:
      - in: path
        name: organizationId
        schema:
          type: integer
        required: true
        description: 'Your organization id (eg: 12345)'
    post:
      tags:
        - Create Service Accounts
      summary: Create Service Account
      description: >-
        Create a new service account for your organization and optionally add it
        to one or more projects in your organization
      operationId: create-service-account
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceAccountRequest'
      responses:
        '201':
          description: Service account successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateServiceAccountResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Details about the error that occurred
                  status:
                    type: string
                    enum:
                      - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Details about the error that occurred
                  status:
                    type: string
                    enum:
                      - error
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Details about the error that occurred
                  status:
                    type: string
                    enum:
                      - error
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Details about the error that occurred
                  status:
                    type: string
                    enum:
                      - error
components:
  schemas:
    CreateServiceAccountRequest:
      $ref: '#/components/schemas/ServiceAccountWrite'
    CreateServiceAccountResponse:
      type: object
      properties:
        results:
          allOf:
            - type: object
              properties:
                token:
                  type: string
                  description: >-
                    The secret key for this service account. Note: This cannot
                    be recovered so you should immediately store this somewhere
                    secure.
            - $ref: '#/components/schemas/ServiceAccountRead'
        status:
          type: string
          description: '"ok" if the request succeeded, "error" otherwise.'
          example: ok
          enum:
            - ok
    ServiceAccountWrite:
      type: object
      required:
        - username
      properties:
        username:
          type: string
          description: A descriptive name for the service account
        role:
          $ref: '#/components/schemas/RoleEnum'
        expires:
          type: string
          format: date-time
          description: The datetime that the service account should expire
        projects:
          type: array
          description: A list of projects to make this serivce account a member of
          items:
            type: object
            properties:
              id:
                type: integer
                description: The project id to add the service account to
              role:
                $ref: '#/components/schemas/RoleEnum'
    ServiceAccountRead:
      type: object
      properties:
        id:
          type: integer
          description: The unique identifier for this service account
        username:
          type: string
          description: The username of the service account
        last_used:
          type: string
          format: date-time
          description: The date/time this service account was last used for authentication
        expires:
          type: string
          format: date-time
          description: The date/time this service account will expire
        creator:
          type: integer
          description: The Mixpanel user id that created this service account
        created:
          type: string
          format: date-time
          description: The date/time this service account was created
        user:
          type: integer
          description: >-
            The Mixpanel user id that this serivce account represents. This is
            only used internally and is safe to ignore.
    RoleEnum:
      type: string
      description: The service account's role
      enum:
        - owner
        - admin
        - analyst
        - consumer
  securitySchemes:
    ServiceAccount:
      type: http
      scheme: basic
      description: Service Account

````