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

# Perform initial setup of platform for your organization



## OpenAPI

````yaml /uapi.yaml post /initialization
openapi: 3.1.0
info:
  version: 0.0.1
  title: User management API
  description: This API is for managing organization members and builders for the Sutro API
servers: []
security: []
tags:
  - name: configuration
    description: Configuration of the platform for your members and builders
  - name: members
    description: >-
      Members are the individuals that a Customer wants to provide with access
      to the Sutro Console
  - name: builders
    description: >-
      Builders are a Customer's users; they are the ones who are building apps
      with a Customer's platform
  - name: certificates
    description: >-
      Certificates are use for signing & verifying access tokens, as well as for
      securing mTLS connections
  - name: api_clients
    description: API Clients must be registered and associated with an mTLS certificate
paths:
  /initialization:
    post:
      tags:
        - configuration
      summary: Perform initial setup of platform for your organization
      operationId: initializePlatform
      requestBody:
        $ref: '#/components/requestBodies/InitialSetup'
      responses:
        '200':
          $ref: '#/components/responses/InitialSetup'
        '400':
          description: Common Name and JWT Issuer must both be valid, non-empty strings
        '409':
          description: Organization has already been setup
components:
  requestBodies:
    InitialSetup:
      required: true
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CertificateFields'
              - type: object
                required:
                  - jwtIssuer
                properties:
                  jwtIssuer:
                    description: >-
                      The string that you will use in the `iss` claim in JWTs
                      that you generate for your Builders
                    type: string
  responses:
    InitialSetup:
      description: Certificates and keys for securing requests
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CertificateRequestResponse'
              - type: object
                required:
                  - tokenIssuer
                  - apiClientIdentifier
                properties:
                  tokenIssuer:
                    $ref: '#/components/schemas/TokenIssuer'
                  apiClientIdentifier:
                    description: >
                      A string identifier to include with Builder requests to
                      identify the requesting API client
                    type: string
  schemas:
    CertificateFields:
      type: object
      required:
        - commonName
      properties:
        countryName:
          description: >
            A two-character country code that follows ISO-3166; this is added to
            the certificate that we generate for you.


            See https://www.ssl.com/country-codes/ for a list of supported
            values.
          default: US
          type: string
          pattern: '[A-Z]{2}'
        organizationName:
          description: >
            This is an optional field that can be added to the certificate that
            we generate for you that indicates the name of your organization.
          type: string
        commonName:
          description: >
            The Common Name (CN) field for the TLS certificate that we will
            generate for you


            We recommend a useful short name, such as "mTLS certificate for
            communication with Sutro"; this will help you identify this
            Certificate's

            purpose in your secure storage system.
          type: string
    CertificateRequestResponse:
      type: object
      required:
        - certificate
        - privateKey
      properties:
        certificate:
          $ref: '#/components/schemas/Certificate'
        privateKey:
          description: >
            The private key that can be used for signing JWTs and securing
            requests. 


            This will only be provided this one time, so it should be stored
            somewhere securely
          type: string
    TokenIssuer:
      description: >-
        A Token Issuer generates JWTs to demonstrate the identity of a requester
        and their authority to perform a request
      type: object
      required:
        - id
        - customerId
        - issuer
      properties:
        id:
          type: string
          format: uuid
        customerId:
          type: string
          format: uuid
        issuer:
          type: string
        certificateId:
          type: string
          format: uuid
    Certificate:
      type: object
      required:
        - id
        - issuerName
        - subjectName
        - valid
        - content
        - customerId
        - sha1Fingerprint
      properties:
        id:
          type: string
          format: uuid
        issuerName:
          type: string
        subjectName:
          type: string
        valid:
          type: object
          required:
            - before
          properties:
            before:
              type: string
              format: date-time
            after:
              type: string
              format: date-time
        content:
          type: string
        customerId:
          type: string
          format: uuid
        sha1Fingerprint:
          type: string

````