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

# Registers an Employer

> Registers an Employer associated with an Account



## OpenAPI

````yaml /i9/api-reference/i-9-api.yaml post /v1/employers
openapi: 3.1.0
info:
  contact:
    name: Symmetry Software
    url: https://www.symmetry.com
  description: I-9 API Documentation
  license:
    name: Terms of service
    url: https://www.symmetry.com/terms
  title: I-9 API
  version: 1.69.13
servers:
  - url: https://api.symmetry.com/i9
security: []
tags:
  - description: >-
      Endpoints for managing custom app theming configurations for a specific
      employer
    name: Employer Custom App Theming
  - description: >-
      Endpoints for managing custom app theming configurations for all employers
      in the account
    name: Account Custom App Theming
paths:
  /v1/employers:
    post:
      tags:
        - Employer
      summary: Registers an Employer
      description: Registers an Employer associated with an Account
      operationId: registerEmployer
      requestBody:
        content:
          application/json:
            examples:
              Example of an Employer object to register an Employer with webhook and postback:
                description: >-
                  Example of an Employer object to register an Employer with
                  webhook and postback
                summary: Employer Object
                value:
                  address:
                    city: Scottsdale
                    state: AZ
                    streetAddress1: 14350 N 87 ST
                    streetAddress2: STE 310
                    zipCode: '85260'
                  federalEIN: 98-7654321
                  name: Example Company
                  postback:
                    enabled: true
                    encryption:
                      enabled: true
                      encryptionCertificate: >-
                        MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/==
                    failureNotificationEmail: admin@example.com
                    proxy:
                      authentication:
                        authType: basic
                        password: proxy_password
                        username: proxy_user
                      enabled: true
                      host: 192.168.1.1
                      port: 8080
                    target:
                      authentication:
                        authType: basic
                        password: postback_password
                        username: postback_user
                      url: https://client-system.example.com/postbacks/i9
                    timeout: 15
                    trustAllCertificates: false
                  timezone: America/New_York
                  webhook:
                    authentication:
                      authType: basic
                      password: webhook_password
                      username: webhook_user
                    callbackUrl: https://client-system.example.com/callbacks/i9
                    failureNotificationEmail: webhook-alerts@example.com
            schema:
              $ref: '#/components/schemas/EmployerDetails'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                This response will return the registered Employers information:
                  description: >-
                    This response will return the registered Employers
                    information
                  summary: >-
                    Example response when registering an Employer. HATEOAS links
                    are now provided in the Link HTTP header.
                  value:
                    employer:
                      address:
                        city: Scottsdale
                        country: US
                        state: AZ
                        streetAddress1: 14350 N 87 ST
                        streetAddress2: STE 310
                        zipCode: '85260'
                      federalEIN: 98-7654321
                      id: 0195c93d-3a0e-7eab-9eb6-bf430d150873
                      name: Example Company
                      postback:
                        enabled: true
                        encryption:
                          enabled: true
                          encryptionCertificate: >-
                            MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/==
                        failureNotificationEmail: admin@example.com
                        id: 01978348-0fca-7bf7-a2d8-a068fc757370
                        proxy:
                          enabled: true
                          host: 192.168.1.1
                          id: 01978348-0fca-7bf7-a2d9-11ead3434a37
                          port: 8080
                        target:
                          id: 01978348-0fcb-72ff-96e9-460990e69871
                          url: https://client-system.example.com/postbacks/i9
                        timeout: 15
                        trustAllCertificates: false
                      timezone: America/New_York
                      webhook:
                        callbackUrl: https://client-system.example.com/callbacks/i9
                        failureNotificationEmail: webhook-alerts@example.com
                        id: 0195c93d-4b2f-8c1d-a7e5-df560e278914
              schema:
                $ref: '#/components/schemas/EmployerResponse'
          description: OK
        '400':
          description: Bad Request, make sure to use proper POST request
        '404':
          description: Resource not found
      security:
        - AuthenticationToken: []
components:
  schemas:
    EmployerDetails:
      description: Employer information
      properties:
        address:
          $ref: '#/components/schemas/Address'
          description: Address for a given Employer.
        federalEIN:
          description: Federal Employer Identification Number for a given Employer.
          type: string
        id:
          format: uuid
          type: string
        name:
          description: Name for a given Employer.
          type: string
        postback:
          $ref: '#/components/schemas/PostbackConfig'
          description: Postback configuration for this employer.
        timezone:
          description: Timezone for a given Employer.
          example: America/New_York
          type: string
        webhook:
          $ref: '#/components/schemas/Webhook'
          description: Webhook configuration for this employer.
      required:
        - address
        - federalEIN
        - name
        - timezone
      type: object
    EmployerResponse:
      description: Employer response
      properties:
        employer:
          $ref: '#/components/schemas/EmployerDetails'
          description: Employer information
      type: object
    Address:
      properties:
        city:
          description: City of the address.
          type: string
        country:
          enum:
            - AC
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AN
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BU
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CP
            - CR
            - CS
            - CU
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DG
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EA
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - EU
            - EZ
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - FX
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - IC
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - 'NO'
            - NP
            - NR
            - NT
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SF
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SU
            - SV
            - SX
            - SY
            - SZ
            - TA
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TP
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UK
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - XI
            - XK
            - XU
            - YE
            - YT
            - YU
            - ZA
            - ZM
            - ZR
            - ZW
          type: string
        state:
          description: State or territory. Must be a 2 digit abbreviation such as AZ
          type: string
        streetAddress1:
          description: Civic number and street name of the address.
          type: string
        streetAddress2:
          description: >-
            Apartment, floor, unit number, or other address designation that is
            part of the address.
          type: string
        zipCode:
          description: >-
            Address zip code. Must be exactly 5 or exactly 9 digits. All
            non-numeric characters will be automatically removed before
            validation (for example, 85260-2662 will be validated as 852602662).
          type: string
      required:
        - city
        - state
        - streetAddress1
        - zipCode
      type: object
    PostbackConfig:
      properties:
        enabled:
          default: 'false'
          description: Enables the postback to be sent
          type: boolean
        encryption:
          $ref: '#/components/schemas/EncryptionConfig'
          description: >-
            Configuration for encrypting the postback payload using Rijndael
            encryption algorithm
        failureNotificationEmail:
          description: Email address to be sent a notification if a postback request fails
          type: string
        id:
          format: uuid
          type: string
        proxy:
          $ref: '#/components/schemas/TargetConfig'
          description: >-
            Proxy configuration to be used when send the postback to the target
            configuration
        target:
          $ref: '#/components/schemas/TargetConfig'
          description: Postback target configuration
        timeout:
          default: '15'
          description: >-
            Maximum number of seconds the service will wait for a response when
            sending the postback
          format: int32
          maximum: 60
          minimum: 0
          type: integer
        trustAllCertificates:
          default: 'false'
          description: >-
            Instructs api to trust all certificates for HTTPS/TLS connections,
            this is useful when using a self-signed certificate
          type: boolean
      required:
        - enabled
        - target
      type: object
    Webhook:
      description: Configuration for webhook callbacks
      properties:
        authentication:
          $ref: '#/components/schemas/Authentication'
          description: Authentication configuration for the webhook endpoint.
        callbackUrl:
          description: URL that will receive webhook callbacks for the employer.
          type: string
        failureNotificationEmail:
          description: Email address to be sent a notification if a webhook request fails
          type: string
        id:
          format: uuid
          type: string
      required:
        - callbackUrl
      type: object
    EncryptionConfig:
      properties:
        enabled:
          default: 'false'
          description: >-
            Enables service to encrypt the postback payload using Rijndael
            encryption algorithm
          type: boolean
        encryptionCertificate:
          description: >-
            Encryption certificate to be used for Rijndael encryption of the
            postback payload, required if enabled is 'true'
          type: string
      required:
        - enabled
      type: object
    TargetConfig:
      description: Configuration for Postback target and proxy.
      properties:
        authentication:
          $ref: '#/components/schemas/Authentication'
          description: >-
            Configures the authentication for this target. For the postback
            delivery URL (target), use none, basic, or OAuth2. For postback
            proxy only, use none or basic; OAuth2 is not supported for proxy
            authentication.
        enabled:
          description: >-
            Indicates whether the proxy configuration is enabled for postback
            delivery. Omitted for target URL rows when unset. Required when a
            proxy object is sent on write.
          type: boolean
        host:
          description: >-
            Target's host ip address, this field should be used to denote the
            target proxy ip address. This field is required if configuring this
            object for a proxy.
          type: string
        id:
          format: uuid
          type: string
        port:
          description: >-
            Target proxy's port, this field is required if configuring this
            object for a proxy
          format: int32
          maximum: 65535
          minimum: 0
          type: integer
        url:
          description: >-
            Target's URI, this field should be used to denote the target
            endpoint
          type: string
      required:
        - authentication
      type: object
    Authentication:
      properties:
        authType:
          $ref: '#/components/schemas/AuthType'
          description: >-
            Configures the authentication scheme type to be used: none, basic
            authentication, or oauth2 authentication
        id:
          format: uuid
          type: string
        oauth2AdditionalParameters:
          additionalProperties:
            type: string
          description: >-
            Additional parameters to be provided to the Oauth2 token
            authentication server
          type: object
          writeOnly: true
        oauth2AuthServerUrl:
          description: >-
            URL to the Oauth2 token authentication server, required if using
            Oauth2 authentication
          type: string
        oauth2ClientId:
          description: Oauth2 client id, required if using Oauth2 authentication
          type: string
          writeOnly: true
        oauth2ClientSecret:
          description: Oauth2 client secret, required if using Oauth2 authentication
          type: string
          writeOnly: true
        oauth2GrantType:
          $ref: '#/components/schemas/OauthGrantType'
          description: >-
            Oauth2 grant type, required if using Oauth2 authentication. Only
            client_credentials is supported.
        password:
          description: >-
            Password for basic authentication. Only used when authType is
            'basic'.
          type: string
          writeOnly: true
        username:
          description: >-
            Username for basic authentication. Only used when authType is
            'basic'.
          type: string
          writeOnly: true
      required:
        - authType
      type: object
    AuthType:
      description: >-
        Configures the authentication scheme type to be used: none, basic
        authentication, or oauth2 authentication
      enum:
        - basic
        - none
        - oauth2
      type: string
    OauthGrantType:
      description: >-
        Oauth2 grant type, required if using Oauth2 authentication. Only
        client_credentials is supported.
      enum:
        - client_credentials
      type: string
  securitySchemes:
    AuthenticationToken:
      bearerFormat: JWT
      scheme: bearer
      type: http

````