Marqeta auth controls API

The auth controls API from Marqeta — 4 operation(s) for auth controls.

OpenAPI Specification

marqeta-auth-controls-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    email: support@marqeta.com
    name: Marqeta
  description: Marqeta's Core API endpoints, conveniently annotated to enable code generation (including SDKs), test cases, and documentation. Currently in beta.
  termsOfService: https://www.marqeta.com/api-terms
  title: Core accepted countries auth controls API
  version: 3.0.39
servers:
- url: /v3
security:
- mqAppAndAccessToken: []
tags:
- name: auth controls
paths:
  /authcontrols:
    get:
      operationId: getAuthcontrols
      parameters:
      - description: Card product token. Use "null" to get auth controls that are not associated with any card product.
        explode: true
        in: query
        name: card_product
        required: false
        schema:
          type: string
        style: form
      - description: User token. Use "null" to get auth controls that are not associated with any user.
        explode: true
        in: query
        name: user
        required: false
        schema:
          type: string
        style: form
      - description: Number of items to retrieve. Count can be between 1 - 10 items.
        explode: true
        in: query
        name: count
        required: false
        schema:
          default: 5
          format: int32
          type: integer
        style: form
      - description: Indicates from what row to start returning data.
        explode: true
        in: query
        name: start_index
        required: false
        schema:
          default: 0
          format: int32
          type: integer
        style: form
      - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields.
        explode: true
        in: query
        name: fields
        required: false
        schema:
          type: string
        style: form
      - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime.
        explode: true
        in: query
        name: sort_by
        required: false
        schema:
          default: -lastModifiedTime
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthControlListResponse'
          description: Success
        '400':
          content: {}
          description: Bad request
        '500':
          content: {}
          description: Server error
      summary: Lists all global auth control exceptions for the program
      tags:
      - auth controls
    post:
      operationId: postAuthcontrols
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/auth_control_request'
        description: Auth control object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_control_response'
          description: Created
        '400':
          content: {}
          description: Bad request
        '409':
          content: {}
          description: Token already associated with a different payload
        '500':
          content: {}
          description: Server error
      summary: Creates an auth control exception
      tags:
      - auth controls
  /authcontrols/exemptmids:
    get:
      operationId: getAuthcontrolsExemptmids
      parameters:
      - description: Card product token. Use "null" to get auth controls that are not associated with any card product.
        explode: true
        in: query
        name: card_product
        required: false
        schema:
          type: string
        style: form
      - description: User token. Use "null" to get auth controls that are not associated with any user.
        explode: true
        in: query
        name: user
        required: false
        schema:
          type: string
        style: form
      - description: Number of items to retrieve. Count can be between 1 - 10 items.
        explode: true
        in: query
        name: count
        required: false
        schema:
          default: 5
          format: int32
          type: integer
        style: form
      - description: Indicates from what row to start returning data.
        explode: true
        in: query
        name: start_index
        required: false
        schema:
          default: 0
          format: int32
          type: integer
        style: form
      - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields.
        explode: true
        in: query
        name: fields
        required: false
        schema:
          type: string
        style: form
      - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime.
        explode: true
        in: query
        name: sort_by
        required: false
        schema:
          default: -lastModifiedTime
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthControlExemptMidsListResponse'
          description: Success
        '400':
          content: {}
          description: Bad request
        '500':
          content: {}
          description: Server error
      summary: Lists all auth control exempted MIDs for the program
      tags:
      - auth controls
    post:
      operationId: postAuthcontrolsExemptmids
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/auth_control_exempt_mids_request'
        description: Auth control exempt MID object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_control_exempt_mids_response'
          description: Created
        '400':
          content: {}
          description: Bad request
        '409':
          content: {}
          description: Token already associated with a different payload
        '500':
          content: {}
          description: Server error
      summary: Creates an auth control for exempting MIDs
      tags:
      - auth controls
  /authcontrols/exemptmids/{token}:
    get:
      operationId: getAuthcontrolsExemptmidsToken
      parameters:
      - description: Auth control token
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_control_exempt_mids_response'
          description: Success
        '400':
          content: {}
          description: Bad request
        '404':
          content: {}
          description: Auth control exception MIDs not found
        '500':
          content: {}
          description: Server error
      summary: Returns a specific auth control exemptmids
      tags:
      - auth controls
    put:
      operationId: putAuthcontrolsExemptmidsToken
      parameters:
      - description: Auth control token
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/auth_control_exempt_mids_update_request'
        required: false
      responses:
        '204':
          content: {}
          description: Success
        '400':
          content: {}
          description: Bad request
        '500':
          content: {}
          description: Server error
      summary: Updates the status an auth control exemptmids
      tags:
      - auth controls
  /authcontrols/{token}:
    get:
      operationId: getAuthcontrolsToken
      parameters:
      - description: Auth control token
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields.
        explode: true
        in: query
        name: fields
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_control_response'
          description: Success
        '400':
          content: {}
          description: Bad request
        '404':
          content: {}
          description: Auth control not found
        '500':
          content: {}
          description: Server error
      summary: Returns a specific auth control exception
      tags:
      - auth controls
    put:
      operationId: putAuthcontrolsToken
      parameters:
      - description: Auth control token
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/auth_control_update_request'
        description: Auth control object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_control_response'
          description: Success
        '400':
          content: {}
          description: Bad request
        '500':
          content: {}
          description: Server error
      summary: Updates an auth control exception
      tags:
      - auth controls
components:
  schemas:
    auth_control_update_request:
      properties:
        active:
          default: true
          type: boolean
        association:
          $ref: '#/components/schemas/spend_control_association'
        end_time:
          format: date-time
          type: string
        merchant_scope:
          $ref: '#/components/schemas/merchant_scope'
        name:
          maxLength: 255
          minLength: 0
          type: string
        start_time:
          format: date-time
          type: string
        token:
          maxLength: 36
          minLength: 1
          type: string
      required:
      - token
      type: object
    AuthControlExemptMidsListResponse:
      properties:
        count:
          format: int32
          type: integer
        data:
          items:
            $ref: '#/components/schemas/auth_control_exempt_mids_response'
          type: array
        end_index:
          format: int32
          type: integer
        is_more:
          default: false
          type: boolean
        start_index:
          format: int32
          type: integer
      type: object
    auth_control_request:
      properties:
        active:
          default: true
          type: boolean
        association:
          $ref: '#/components/schemas/spend_control_association'
        end_time:
          format: date-time
          type: string
        merchant_scope:
          $ref: '#/components/schemas/auth_control_merchant_scope'
        name:
          maxLength: 255
          minLength: 0
          type: string
        start_time:
          format: date-time
          type: string
        token:
          maxLength: 36
          minLength: 1
          type: string
      required:
      - name
      type: object
    spend_control_association:
      description: Defines the group of users to which the velocity control applies.
      properties:
        account_template_token:
          maxLength: 36
          minLength: 1
          type: string
        card_product_token:
          description: 'Unique identifier of the card product.


            Pass either `card_product_token` or `user_token`, not both.'
          maxLength: 36
          minLength: 1
          type: string
        user_token:
          description: 'Unique identifier of the cardholder.


            Pass either `card_product_token` or `user_token`, not both.'
          maxLength: 36
          minLength: 1
          type: string
      type: object
    auth_control_exempt_mids_request:
      properties:
        association:
          $ref: '#/components/schemas/spend_control_association'
        end_time:
          format: date-time
          type: string
        merchant_group_token:
          description: 36 char max
          maxLength: 36
          minLength: 1
          type: string
        mid:
          maxLength: 36
          minLength: 1
          type: string
        name:
          maxLength: 255
          minLength: 0
          type: string
        start_time:
          format: date-time
          type: string
        token:
          type: string
      required:
      - name
      type: object
    auth_control_exempt_mids_update_request:
      properties:
        active:
          default: false
          type: boolean
      type: object
    auth_control_response:
      properties:
        active:
          default: true
          type: boolean
        association:
          $ref: '#/components/schemas/spend_control_association'
        end_time:
          format: date-time
          type: string
        merchant_scope:
          $ref: '#/components/schemas/auth_control_merchant_scope'
        name:
          maxLength: 255
          minLength: 0
          type: string
        start_time:
          format: date-time
          type: string
        token:
          maxLength: 36
          minLength: 1
          type: string
      required:
      - name
      type: object
    auth_control_exempt_mids_response:
      properties:
        active:
          default: false
          type: boolean
        association:
          $ref: '#/components/schemas/spend_control_association'
        created:
          format: date-time
          type: string
        end_time:
          format: date-time
          type: string
        last_updated:
          format: date-time
          type: string
        merchant_group_token:
          description: 36 char max
          maxLength: 36
          minLength: 1
          type: string
        mid:
          maxLength: 36
          minLength: 1
          type: string
        name:
          maxLength: 255
          minLength: 0
          type: string
        start_time:
          format: date-time
          type: string
        token:
          type: string
      required:
      - name
      type: object
    auth_control_merchant_scope:
      properties:
        mcc:
          description: 4 char max
          maxLength: 4
          minLength: 1
          type: string
        mcc_group:
          description: 36 char max
          maxLength: 36
          minLength: 1
          type: string
        merchant_group_token:
          description: 36 char max
          maxLength: 36
          minLength: 1
          type: string
        mid:
          description: 36 char max
          maxLength: 36
          minLength: 1
          type: string
      type: object
    merchant_scope:
      description: 'Defines the group of merchants to which the velocity control applies.


        Populate no more than one field of the `merchant_scope` object.

        If no fields are populated, the velocity control applies to all merchants.'
      properties:
        mcc:
          description: 'Merchant Category Code (MCC).

            Identifies the type of products or services provided by the merchant.


            Enter a value to control spending on a particular type of product or service.'
          maxLength: 4
          minLength: 1
          type: string
        mcc_group:
          description: 'Token identifying a group of MCCs.

            Enter a value to control spending on a group of product or service types.


            Send a `GET` request to `/mccgroups` to retrieve MCC group tokens.'
          maxLength: 36
          minLength: 1
          type: string
        mid:
          description: 'Merchant identifier (MID).

            Identifies a specific merchant.


            Enter a value to control spending with a particular merchant.'
          maxLength: 36
          minLength: 1
          type: string
      type: object
    AuthControlListResponse:
      properties:
        count:
          format: int32
          type: integer
        data:
          items:
            $ref: '#/components/schemas/auth_control_response'
          type: array
        end_index:
          format: int32
          type: integer
        is_more:
          default: false
          type: boolean
        start_index:
          format: int32
          type: integer
      type: object
  securitySchemes:
    mqAppAndAccessToken:
      scheme: basic
      type: http