Anchor Browser Applications API

The Applications API from Anchor Browser — 6 operation(s) for applications.

OpenAPI Specification

anchorbrowser-applications-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AnchorBrowser Agentic capabilities Applications API
  version: 1.0.0
  description: APIs to manage all browser-related actions and configuration.
servers:
- url: https://api.anchorbrowser.io
  description: API server
tags:
- name: Applications
paths:
  /v1/applications:
    post:
      summary: Create Application
      description: 'Creates a new application for identity management.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApplicationRequest'
            examples:
              createApplication:
                summary: Create a new application
                value:
                  source: https://example.com
                  name: Example App
                  description: An example application
      responses:
        '201':
          description: Application created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateApplicationResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to create application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      summary: List Applications
      description: 'Retrieves all applications for the authenticated team.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: search
        in: query
        required: false
        description: Search query to filter applications by name
        schema:
          type: string
      responses:
        '200':
          description: List of applications retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationsResponse'
        '500':
          description: Failed to list applications
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/applications/{applicationId}:
    get:
      summary: Get Application
      description: 'Retrieves details of a specific application by its ID.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application to retrieve
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Application details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApplicationResponse'
        '404':
          description: Application not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to get application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      summary: Delete Application
      description: 'Deletes an existing application.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application to delete
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Application deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteApplicationResponse'
        '404':
          description: Application not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to delete application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/applications/{applicationId}/identities:
    get:
      summary: List Application Identities
      description: 'Retrieves all identities associated with a specific application.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application
        schema:
          type: string
          format: uuid
      - name: search
        in: query
        required: false
        description: Search query to filter identities by name
        schema:
          type: string
      - name: metadata
        in: query
        required: false
        description: Filter identities by metadata. Pass a **JSON object** to filter identities whose metadata contains the specified key-value pairs.
        schema:
          type: string
          additionalProperties: true
        style: deepObject
        explode: true
        example:
          department: Engineering
          role: admin
      responses:
        '200':
          description: List of identities retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationIdentitiesResponse'
        '500':
          description: Failed to list application identities
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/applications/{applicationId}/auth-flows:
    get:
      summary: List Application Authentication Flows
      description: 'Retrieves all authentication flows for a specific application.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: List of authentication flows retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationAuthFlowsResponse'
        '500':
          description: Failed to list application authentication flows
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      summary: Create Authentication Flow
      description: 'Creates a new authentication flow for an application.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAuthFlowRequest'
            examples:
              createAuthFlow:
                summary: Create an authentication flow with username/password
                value:
                  name: Standard Login
                  description: Username and password authentication
                  is_recommended: true
                  methods:
                  - username_password
                  custom_fields: []
      responses:
        '201':
          description: authentication flow created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAuthFlowResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to create authentication flow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/applications/{applicationId}/auth-flows/{authFlowId}:
    patch:
      summary: Update Authentication Flow
      description: 'Updates an existing authentication flow.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application
        schema:
          type: string
          format: uuid
      - name: authFlowId
        in: path
        required: true
        description: The ID of the authentication flow to update
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAuthFlowRequest'
            examples:
              updateAuthFlow:
                summary: Update authentication flow name and methods
                value:
                  name: Updated Login Flow
                  methods:
                  - username_password
                  - authenticator
      responses:
        '200':
          description: authentication flow updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAuthFlowResponse'
        '500':
          description: Failed to update authentication flow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      summary: Delete Authentication Flow
      description: 'Deletes an existing authentication flow.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The ID of the application
        schema:
          type: string
          format: uuid
      - name: authFlowId
        in: path
        required: true
        description: The ID of the authentication flow to delete
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: authentication flow deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAuthFlowResponse'
        '500':
          description: Failed to delete authentication flow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/applications/{applicationId}/tokens:
    post:
      summary: Create Identity Token
      description: 'Creates an identity token for a specific application. This token is used to initiate

        an authentication flow for linking user identities to the application.


        The callback URL must use HTTPS and is where the user will be redirected after authentication.

        '
      security:
      - api_key_header: []
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The unique identifier of the application
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIdentityTokenRequest'
            examples:
              createToken:
                summary: Create an identity token
                value:
                  callbackUrl: https://example.com/auth/callback
      responses:
        '201':
          description: Identity token created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityTokenResponse'
        '400':
          description: Invalid request - callbackUrl must be a valid HTTPS URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Application not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to create identity token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ListApplicationAuthFlowsResponse:
      type: object
      properties:
        auth_flows:
          type: array
          items:
            $ref: '#/components/schemas/AuthFlowItem'
    CustomFieldDefinition:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the custom field
    CreateIdentityTokenRequest:
      type: object
      required:
      - callbackUrl
      properties:
        callbackUrl:
          type: string
          format: uri
          description: The HTTPS URL where the user will be redirected after authentication. Must use HTTPS protocol.
          example: https://example.com/callback
    CreateApplicationResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the application
        name:
          type: string
          description: Name of the application
        url:
          type: string
          nullable: true
          description: URL of the application
        description:
          type: string
          nullable: true
          description: Description of the application
        created_at:
          type: string
          format: date-time
          description: Timestamp when the application was created
    IdentityTokenResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            token:
              type: string
              description: The generated identity token for authentication
            expires_at:
              type: string
              format: date-time
              description: The timestamp when the token expires
            token_hash:
              type: string
              description: A hash of the token for verification purposes
    UpdateAuthFlowRequest:
      type: object
      properties:
        name:
          type: string
          description: Name of the authentication flow
        description:
          type: string
          description: Description of the authentication flow
        is_recommended:
          type: boolean
          description: Whether this is the recommended authentication flow
        methods:
          type: array
          items:
            type: string
            enum:
            - username_password
            - authenticator
            - custom
          description: Authentication methods in this flow
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldDefinition'
          description: Custom fields for this authentication flow
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
    ListApplicationsResponse:
      type: object
      properties:
        applications:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationItem'
    CreateAuthFlowResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the authentication flow
        name:
          type: string
          description: Name of the authentication flow
        description:
          type: string
          nullable: true
          description: Description of the authentication flow
        is_recommended:
          type: boolean
          description: Whether this is the recommended authentication flow
        methods:
          type: array
          items:
            type: string
          description: Authentication methods in this flow
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldDefinition'
          description: Custom fields for this authentication flow
        created_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was last updated
    AuthFlowItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the authentication flow
        name:
          type: string
          description: Name of the authentication flow
        description:
          type: string
          nullable: true
          description: Description of the authentication flow
        is_recommended:
          type: boolean
          description: Whether this is the recommended authentication flow
        methods:
          type: array
          items:
            type: string
          description: Authentication methods in this flow
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldDefinition'
          description: Custom fields for this authentication flow
        created_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was last updated
    DeleteAuthFlowResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the deletion was successful
    CreateAuthFlowRequest:
      type: object
      required:
      - name
      - methods
      properties:
        name:
          type: string
          description: Name of the authentication flow
        description:
          type: string
          description: Description of the authentication flow
        is_recommended:
          type: boolean
          description: Whether this is the recommended authentication flow
        methods:
          type: array
          items:
            type: string
            enum:
            - username_password
            - authenticator
            - custom
          minItems: 1
          description: Authentication methods in this flow
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldDefinition'
          description: Custom fields for this authentication flow
    ListApplicationIdentitiesResponse:
      type: object
      properties:
        identities:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationIdentityItem'
    UpdateAuthFlowResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the authentication flow
        name:
          type: string
          description: Name of the authentication flow
        description:
          type: string
          nullable: true
          description: Description of the authentication flow
        is_recommended:
          type: boolean
          description: Whether this is the recommended authentication flow
        methods:
          type: array
          items:
            type: string
          description: Authentication methods in this flow
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldDefinition'
          description: Custom fields for this authentication flow
        created_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the authentication flow was last updated
    CreateApplicationRequest:
      type: object
      required:
      - source
      properties:
        source:
          type: string
          format: uri
          description: The source URL of the application
        name:
          type: string
          description: Name of the application
        description:
          type: string
          description: Description of the application
    ApplicationIdentityItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the identity
        name:
          type: string
          description: Name of the identity
        auth_flow:
          type: string
          nullable: true
          description: Authentication flow associated with this identity
        status:
          type: string
          enum:
          - pending
          - validated
          - failed
          description: Status of the identity
        created_at:
          type: string
          format: date-time
          description: Timestamp when the identity was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the identity was last updated
    DeleteApplicationResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the deletion was successful
    ApplicationItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the application
        name:
          type: string
          description: Name of the application
        url:
          type: string
          nullable: true
          description: URL of the application
        description:
          type: string
          nullable: true
          description: Description of the application
        identity_count:
          type: integer
          description: Number of identities associated with this application
        auth_methods:
          type: array
          items:
            type: string
          description: Authentication methods available for this application
        created_at:
          type: string
          format: date-time
          description: Timestamp when the application was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the application was last updated
    GetApplicationResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the application
        name:
          type: string
          description: Name of the application
        url:
          type: string
          nullable: true
          description: URL of the application
        description:
          type: string
          nullable: true
          description: Description of the application
        identity_count:
          type: integer
          description: Number of identities associated with this application
        auth_methods:
          type: array
          items:
            type: string
          description: Authentication methods available for this application
        created_at:
          type: string
          format: date-time
          description: Timestamp when the application was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the application was last updated
  securitySchemes:
    api_key_header:
      type: apiKey
      in: header
      name: anchor-api-key
      description: API key passed in the header