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

# Create Signer

> Create a code signing signer



## OpenAPI

````yaml POST /api/v1/cert-manager/signers
openapi: 3.0.3
info:
  title: Infisical API
  description: List of all available APIs that can be consumed
  version: 0.0.1
servers:
  - url: https://us.infisical.com
    description: Production server (US)
  - url: https://eu.infisical.com
    description: Production server (EU)
  - url: http://localhost:8080
    description: Local server
security: []
paths:
  /api/v1/cert-manager/signers:
    post:
      tags:
        - PKI Signers
      description: Create a code signing signer
      operationId: createSigner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 64
                description:
                  type: string
                  maxLength: 256
                caId:
                  type: string
                  format: uuid
                commonName:
                  type: string
                  minLength: 1
                  maxLength: 256
                certificateTtlDays:
                  type: integer
                  minimum: 1
                  maximum: 3650
                certificateRenewBeforeDays:
                  type: integer
                  minimum: 1
                  maximum: 30
                  nullable: true
                keyAlgorithm:
                  type: string
                  enum:
                    - RSA_2048
                    - RSA_3072
                    - RSA_4096
                    - EC_prime256v1
                    - EC_secp384r1
                    - EC_secp521r1
                certificateId:
                  type: string
                  format: uuid
                approvalPolicyId:
                  type: string
                  format: uuid
                members:
                  type: array
                  items:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - user
                          - identity
                          - group
                      id:
                        type: string
                        format: uuid
                      role:
                        type: string
                        minLength: 1
                    required:
                      - kind
                      - id
                      - role
                    additionalProperties: false
                approvalPolicy:
                  type: object
                  properties:
                    steps:
                      type: array
                      items:
                        type: object
                        properties:
                          stepNumber:
                            type: integer
                            minimum: 1
                          name:
                            type: string
                            maxLength: 64
                            nullable: true
                          requiredApprovals:
                            type: integer
                            minimum: 1
                          approverUserIds:
                            type: array
                            items:
                              type: string
                              format: uuid
                            default: []
                          approverGroupIds:
                            type: array
                            items:
                              type: string
                              format: uuid
                            default: []
                        required:
                          - stepNumber
                          - requiredApprovals
                        additionalProperties: false
                    constraints:
                      type: object
                      properties:
                        maxSignings:
                          type: integer
                          minimum: 1
                          nullable: true
                        maxWindowDuration:
                          type: string
                          nullable: true
                      additionalProperties: false
                  required:
                    - steps
                  additionalProperties: false
              required:
                - name
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                  description:
                    type: string
                    nullable: true
                  status:
                    type: string
                    default: active
                  certificateId:
                    type: string
                    format: uuid
                    nullable: true
                  approvalPolicyId:
                    type: string
                    format: uuid
                    nullable: true
                  lastSignedAt:
                    type: string
                    format: date-time
                    nullable: true
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  caId:
                    type: string
                    format: uuid
                    nullable: true
                  commonName:
                    type: string
                    nullable: true
                  certificateTtlDays:
                    type: number
                    nullable: true
                  certificateRenewBeforeDays:
                    type: number
                    nullable: true
                  certificateFailureReason:
                    type: string
                    nullable: true
                  keyAlgorithm:
                    type: string
                    default: RSA_2048
                required:
                  - id
                  - name
                  - createdAt
                  - updatedAt
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 422
                  message: {}
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false

````